php - 站内搜索结果怎么高亮显示关键字?
迷茫
迷茫 2017-04-11 10:36:01
[PHP讨论组]

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
ringa_lee

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

<?php
header('Content-Type: text/plain; charset=utf-8');
$arr = array('中国', '中国人'); //关键字
foreach($arr as $v) { $new[$v] = '<b>'.$v.'</b>'; }
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>'), '我是中国人我爱中国');
高洛峰

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

迷茫
<?php
$str = "Hello world!";
$keyword = "world";
echo str_replace($keyword, "<font color='red'>" . $keyword . "</font>", $str);
?>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号