#author("2022-01-10T21:09:33+09:00","","") * ユーザ定義ルールの日本語置換がうまくいかない [#s84d3f40] - ページ: [[BugTrack]] - 投稿者: [[mt]] - 優先順位: 重要 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2022-01-08 (土) 18:45:53 - バージョン: 1.5.3 (UTF-8) ** メッセージ [#ma699f7a] UTF-8版において、default.ini.php のユーザ定義ルール $line_rules の正規表現にマルチバイト文字を含む文字セット([^あいう]等)を使うと正しく動作しない。 lib/html.php の _convert_line_rule_to_regex関数を次のように変更したら正しく動作した。 function _convert_line_rule_to_regex($a) { return '/' . $a . '/u'; // 「u」フラグを追加 } -------- - こちら、理屈はわかるのですが、再現させられませんでした。PHPのバージョンとか、OSバージョン等教えていただけないでしょうか?あと再現する具体的な置換ルールとその時のWikiテキストを知りたいです -- [[umorigu]] &new{2022-01-10 (月) 20:42:51}; -- default.ini.php の $line_rules に「'あいう' => '<b>AIU</b>'」 を追加して、Wikiテキストを 「あいうえおあいうえお」としたところ、レンダリング結果が 「<b>AIU</b>えお<b>AIU</b>えお」 となりました。環境は Windows XAMPP PHP7.4 です -- [[umorigu]] &new{2022-01-10 (月) 21:00:31}; -- 再現しました。「文字セット」なんですね。「'あああ[^あいう]' => '<b>AIU</b>'」 で再現しました。Windows XAMPP PHP7.4 です -- [[umorigu]] &new{2022-01-10 (月) 21:09:33}; #comment