php 将文中关键词高亮显示,WordPress搜索结果中关键词高亮显示

在国内,我们经常说的一句话有“百度一下”。百度是国内搜索引擎的巨头,我们几乎天天用它搜索,但真的自己要做个搜索功能的时候,还真有点小激动呢。

WordPress是个很强大的博客后台软件,它也提供了很简单的搜索功能。我们今天要做的,就是改造一下我们的搜索功能,让你搜索的关键词能在结果中高亮。

实现效果可以在本站右上角尝试。具体效果如下:

47c9e6ce206fecd6257da3c12d5ffed6.png

实现代码

把以下代码加入WordPress主题目录下的搜索模板文件(一般是search.php)中的主循环中:

$title = get_the_title();

//300是摘要字符数,......是结束符号。

$content = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......");

$keys = explode(" ",$s);

$title = preg_replace('/('.implode('|', $keys) .')/iu','\0',$title);

$content = preg_replace('/('.implode('|', $keys) .')/iu','\0',$content);

?>

然后在需要显示标题的地方使用以下代码显示

在需要显示摘要的地方使用以下代码

应该是很简单的。代码加入search.php之后应该就会有效果。记住要把这些代码放在一个循环中。不要把主代码放在search.php中,而下面的显示标题和内容的代码放在引入的列表文件。

补充:使用过程中关键字后面加空格搜索出现乱码。换以下代码:

$s = trim(get_search_query()) ? trim(get_search_query()) : 0;

$title = get_the_title();

//300是摘要字符数,......是结束符号。

$content = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......");

if($s){$keys = explode(" ",$s);

$title = preg_replace('/('.implode('|', $keys) .')/iu','\0',$title);

$content = preg_replace('/('.implode('|', $keys) .')/iu','\0',$content);

}?>

历史上的今天:

本文参考自:http://yusi123.com/2171.html,由狂族晨曦(capjsj.cn)整理编辑,本文共1451个字。

本文链接地址:https://www.capjsj.cn/wp_ssjgzgjcglxs.html , 转载请保留本说明!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值