[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 メーリングリストの案内