*ハイライト表示時に pre 環境中の " が \" になってしまう
*ハイライト表示時に pre 環境中の " が \" になってしまう [#b11565e6]

-ページ: BugTrack
-投稿者: [[masao]]
-優先順位: 低
-状態: 完了
-カテゴリー: 本体バグ
-投稿日: 2003-03-19 (水) 23:39:40
-バージョン: 1.4pre6

**メッセージ
**メッセージ [#c34c98cf]
ここのサイトもそうなのですが、Pre 環境中にある " が \" と表示されます。~
例: http://pukiwiki.sourceforge.jp/dev/index.php?cmd=read&page=BugTrack%2F269&word=%22%22
 ""

[[BugTrack/49]]と似た現象でしょうか?
----
-書き込んでみて、再現条件がわかりました。単語検索してハイライト表示時にのみ起こる現象だったようです。 -- [[masao]] SIZE(10){2003-03-19 (水) 23:44:21}
-preg_replaceを二重に使っているのが原因です。 -- [[ぱんだ]] SIZE(10){2003-03-20 (木) 21:01:45}
-html.phpの84行目で、無理やり
 - $body = preg_replace("/(?:^|(?<=>))([^<]*)/e",
    'preg_replace("/($q_key)/i",$to,\'$1\')',$body);
 + $body = preg_replace("/(?:^|(?<=>))([^<]*)/e",
    'str_replace(\'\\"\',\'"\',preg_replace("/($q_key)/i",$to,\'$1\'))',$body);
としました。 [[cvs:html.php]](v1.4:r1.70) -- [[ぱんだ]] SIZE(10){2003-03-22 (土) 07:57:28}
-対応ありがとうございます。ちょっと見てみましたが、convert_html.php の617行目を
 -                $this->elements[] = htmlspecialchars($text,ENT_NOQUOTES);
 +                $this->elements[] = htmlspecialchars($text);
のようにしておいた方が良い気がしますが、いかがでしょうか? -- [[masao]] SIZE(10){2003-03-22 (土) 23:20:09}
--その方が簡単ですね。しかも、ダブルクオートを検索したときに<pre>内のダブルクオートも引っかかるようになります。そうしましょう。 -- [[ぱんだ]] SIZE(10){2003-03-23 (日) 00:14:07}
-cvsに投入しました。convert_htmlで「<pre>内のダブルクオートを& quot;に変換するようにし、[[cvs:convert_html.php]](v1,4:r1.28) html.phpを元に戻しました。 [[cvs:html.php]](v1.4:r1.71) -- [[ぱんだ]] SIZE(10){2003-03-23 (日) 00:37:14}

#comment
//#comment

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

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.040 sec.

OSDN