#author("2023-03-31T10:17:13+09:00","","") #author("2023-06-11T22:57:04+09:00","","") * 特定の文字で表組みがうまく行われない [#h423610a] - ページ: [[BugTrack]] - 投稿者: [[kaw]] - 優先順位: 普通 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2023-03-26 (日) 10:46:12 - バージョン: 1.5.4_utf8 ** メッセージ [#c59ece8f] 表組みで、セルの要素に特定の文字(例えば「装」や「入」など)が含まれていると、その行が表としてレンダリングされず、そのまま出力されます。 この現象を確認した環境は以下のとおりです: -OS: OpenBSD 7.2 -HTTP Server: OpenBSD httpd -PHP: 7.4.33, 8.0.28, 8.1.14 -ページ編集に使用したウェブブラウザ: Mozilla Firefox 109.0.1, Chromium 105.0.5195.105, Android Chrome 111.0.5563.115, Microsoft Edge 111.0.1661.51 実例としては、 fuguita.org/?EBUG%E5%8B%89%E5%BC%B7%E4%BC%9A/20200530_%E6%B2%B3%E8%B1%9A%E6%9D%BF%E3%81%AE%E6%AD%B4%E5%8F%B2%28202208%E6%94%B9%29 のようになります。 -------- - 何らかの設定変更をしていませんか?参考URLのソースからURLを除いてpukiwikiお試しサイトでプレビュー確認をしてみましたが、変化はみられませんでした。 -- [[名無し]] &new{2023-03-29 (水) 03:35:53}; - PukiWiki-1.5.4_utf8を新規インストールしてpukiwiki.ini.phpなどの設定ファイルに手を加えない状態でも発生します。何らかの設定変更とは、どのようなものが考えられるでしょうか? -- [[kaw]] &new{2023-03-30 (木) 18:21:35}; - 確認ありがとうございます。新規インストールでも発生するということだとPHP側かもしれません。行数を減らしたり、タブ空白を除いても再現しますか? -- [[名無し]] &new{2023-03-31 (金) 04:11:15}; - はい、再現します。 -- [[kaw]] &new{2023-03-31 (金) 08:17:19}; - 当方の環境で調査しましたら、pgreg_match関数が特定の文字を含む文字列に対して、正しいマッチ文字列を返してこないことがわかりました。 -- [[kaw]] &new{2023-03-31 (金) 10:03:23}; - 以下の箇所にパターン修飾子uを付けることで解決しました。 diff -u lib/convert_html.php.orig lib/convert_html.php --- lib/convert_html.php.orig Tue Jan 11 08:44:45 2022 +++ lib/convert_html.php Fri Mar 31 10:13:44 2023 @@ -120,7 +120,7 @@ // '|'-separated table function & Factory_Table(& $root, $text) { - if (! preg_match('/^\|(.+)\|([hHfFcC]?)$/', $text, $out)) { + if (! preg_match('/^\|(.+)\|([hHfFcC]?)$/u', $text, $out)) { return Factory_Inline($text); } else { return new Table($out); ~-- [[kaw]] &new{2023-03-31 (金) 10:15:32}; - 情報ありがとうございます。次のバージョンで修正したいと思います -- [[umorigu]] &new{2023-06-11 (日) 22:57:04}; #comment