#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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.180 sec.

SourceForge