加入收藏 | 网站地图 | | RSS | WAP
你好,游客 登录 注册 搜索

Wordpress 实例解析站内搜索如何实现高亮显示关键词

[日期:2010-07-19] 作者: 来源: [字体: ]

        非插件的 wordpress 高亮显示关键词及欢迎提示,这个搜索关键词高亮提示仅仅是针对来自 Google、百度等搜索引擎的访客,貌似对用站内搜索的朋友就有些不公平了,,誓言要把 Wordpress 站内搜索高亮显示关键词的功能搞定!

无论是用 PHP 还是 JavaScript 来实现 Wordpress 站内搜索高亮关键词,都不可避免地会用到正则表达式,而偏偏这又是我的软肋,汗颜~先是参考了网上流传最多的 Jquery 实现站内搜索高亮关键词的方法,很可惜,这是一个老外的成果,完全没有考虑到我们非英语为母语的国家,所以这个高亮方法仅支持英文单词开头的关键词,用中 文就杯具了。

所以最终还是参考了 Qiqiboy 的 wordpress高亮搜索结果+实现关键字前后截断显示。。。,他用的是 PHP 正则表达式的方法,最大的特点就是可以完美支持中文,而且比 Jquery 的方法执行速度也更快,最让我喜欢的一点是,非插件!哈哈~于是就拿来根据自己的主题修改了一番,方法如下:

在 Wordpress 主题文件的 search.php 搜索结果文件中的主循环中加入以下代码:

 

<?php
    $title = get_the_title();
    $content = mb_strimwidth(strip_tags(apply_filters(
'the_content', $post->post_content)), 0, 600,"......");
    $keys = explode(
" ",$s);
    $title = preg_replace(
'/('.implode('|', $keys) .')/iu','<span style="font-weight:700;background:#ffff00;">\0</span>',$title);
    $content = preg_replace(
'/('.implode('|', $keys) .')/iu','<span style="font-weight:700;background:#ffff00;">\0</span>',$content);
?>

调用高亮的标题用以下代码:

 

<?php echo $title; ?>

调用高亮的日志内容用以下代码:

 

<?php echo $content;?>

就这样,效果还是蛮不错的,大家可以去我头部导航右上角的站内搜索输入一些关键词试试,中文的、英文的都可以。另外我的 PHP 实力很菜,这修改过程可能不太完美,而且以上代码是根据我自己主题的需要修改的,并不完全通用。大家有同样需要 Wordpress 站内搜索关键词高亮显示功能的,可以直接去 Qiqiboy 的原文学习:http://www.qiqiboy.com/2010/07/16/wordpress-highlighted-keyword- search-results.HTML

最后贴一张站内搜索关键词高亮的截图:

Wordpress 站内搜索高亮显示关键词

关键词:搜索  关键词  显示 

收藏 推荐 打印 | 录入:987950121 | 阅读:
本文评论   查看全部评论 (2)
表情: 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事/刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 2 楼
* 匿名 发表于 2017/1/2 11:58:14
http://www.blue1000.com/bkhtml/c135/2010-12/69889.htm 这就是幸福600字作文:http://www.135995.com/details/zs2820.html 我的小表弟的作文500字:http://www.135995.com/details/zs2821.html
第 1 楼
* 匿名 发表于 2016/12/24 17:05:52
http://www.blue1000.com/bkhtml/c135/2010-12/69889.htm 物理教研组工作计划 http://www.135995.com/show/3915.html 体育教研组工作计划 http://www.135995.com/show/3914.html