- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-03-29T03:35:53+09:00","default:user","user")
#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