Heim  >  Artikel  >  Backend-Entwicklung  >  站内搜索结果怎么高亮显示关键字?

站内搜索结果怎么高亮显示关键字?

WBOY
WBOYOriginal
2016-10-10 11:56:09905Durchsuche

站内搜索,返回的结果怎么高亮显示关键字?

回复内容:

站内搜索,返回的结果怎么高亮显示关键字?

可以使用成对替换函数strtr:
string strtr ( string $str , array $replace_pairs )

<code><?php header('Content-Type: text/plain; charset=utf-8');
$arr = array('中国', '中国人'); //关键字
foreach($arr as $v) { $new[$v] = '<b>'.$v.''; }
var_export($new); //输出: array( '中国' => '<b>中国</b>', '中国人' => '<b>中国人</b>' )
$str = '我是中国人我爱中国';
echo strtr($str, $new)."\n"; //输出: 我是<b>中国人</b>我爱<b>中国</b>

//对比:str_replace会发生重复替换,下面代码会输出: 我是<b><b>中国</b>人</b>我爱<b>中国</b>
echo str_replace(array('中国人','中国'), array('<b>中国人</b>','<b>中国</b>'), '我是中国人我爱中国');</code>

建议使用 elasticsearch 这个是java写的搜索引擎,基于lunce

<code><?php $str = "Hello world!";
$keyword = "world";
echo str_replace($keyword, "<font color='red'>" . $keyword . "", $str);
?></code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn