Re: [請益] 關鍵字上紅色的作法有錯誤,請問該怎麼改
※ 引述《PTTLSboy (阿銫)》之銘言:
: 我在做查詢功能,以空格分隔多個關鍵字,顯示出來將關鍵字上紅色
: 假設輸入:
: 衣服 褲子 鞋子 (沒有問題)
: 但是輸入:
: 衣服 e r
: 會出現問題,它會將第一次替換完畢的<span style='color:red'>衣服</span>,中的e、r,
: 再次替換造成錯誤
: 像這樣<span styl<span style='color:red'>e</span>='color:r<span
: style='color:red'>e</span>d'>衣服</span>
: 程式碼如下:
: //$search_array為輸入的關鍵字陣列
: $patterns = array();
: foreach ((array)$search_array as $value){
: array_push($patterns,"/".$value."/");
: }
: $replacements = array();
: foreach ((array)$search_array as $value){
: array_push($replacements,"<span style='color:red;'>".$value."</span>");
: }
: $p_name=preg_replace($patterns, $replacements, $p_name);
: //$p_name為要查詢的字串
: 請問該怎麼改呢?? 謝謝!!
$patterns = '/(' . implode ('|', $search_array) . ')/i';
$res = preg_replace (
$patterns,
"<span style='color:red;'>\1</span>",
$p_name);
不確定是不是你要的結果,
另外,如果要用 regular expression,請小心外部進來的字元。 :Q
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.161.198.202
推
12/19 02:31, , 1F
12/19 02:31, 1F
→
12/19 02:38, , 2F
12/19 02:38, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章