[PHP-users 32619] Re: phpで検索キーワードのハイライト処理

papa pahoo papa @ pahoo.org
2007年 9月 9日 (日) 14:28:20 JST


須賀様

パパぱふぅです。

HTMLタグ内をスキップする処理が厳密ではありませんが、
こんな感じでどうでしょうか。

$str2 = mb_ereg_replace("(<.*>)?(検索語A|検索語B|検索語C)", "\\1<span class=\"hilite\">\\2</span>", $str);

複数の検索語はOR条件でマッチさせているので、
$jyoken_arr の要素を | で接続してください。

なお、検索語に日本語(マルチバイト文字)が含まれているなら、preg_replace
はお勧めできません。文字セットや処理系によっては文字化けを起こしますので。

正規表現については、下記サイトを参考にしていただければ幸いです。
http://www.pahoo.org/e-soul/webtech/php05/

==========================
  パパぱふぅ
  http://www.pahoo.org/
==========================



PHP-users メーリングリストの案内