2017-03-28 50 views
0

的話限制搜索的話,我想強調的關鍵詞搜索,我發現這裏的解決方案,但它正顯示出相匹配的詞整串突出 我想賽後 ,面前只有10word這是什麼我正在使用但不起作用突出顯示字符串

$text = preg_replace("/^.*?(.{0,1})\b($keyword)\b(.{0,1}).*?$/i", '\1<span class="highlight">\2</span>\3', $text); 
echo $text ; 
+0

有人可以解決這個問題吧。 – Raman

回答

0

現在用php進行了測試。喜歡的東西...

<?php 
$src = 'twelve eleven ten nine eight seven six five four three two one KEYWORD one two three four five six seven eitht nine ten eleven twelve'; 
$keyword = "KEYWORD"; 
$regex = "/(.*?)((\w+\W+){0,10})($keyword\W+)((\w+\W+){0,10})(.*)/i"; 
$text = preg_replace("$regex", '\1<span class="highlight">\2\4\5</span>\7', $src); 
echo $text; 
?> 

...應該這樣做(突出前後的關鍵字加10個字 也許有更緊湊的替代品......

樣品輸入:

twelve eleven ten nine eight seven six five four three two one KEYWORD one two three four five six seven eitht nine ten eleven twelve 

... ...輸出

twelve eleven <span class="highlight">ten nine eight seven six five four three two one KEYWORD one two three four five six seven eitht nine ten </span>eleven twelve 
+0

它不工作;( – Raman

+0

不幸的是,我不是一個PHP開發人員,並沒有PHP環境來測試它。如果你讓我知道發生了什麼問題,我可能仍然可以幫助你。 – yaccob

+0

整個文本沒有亮點 – Raman