用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5913|回复: 8
收起左侧

[辅助方法 Helper] 骑兵系列二:高亮Google/Baidu/Yahoo和站内搜索关键词

[复制链接]
发表于 2011-8-14 18:55:52 | 显示全部楼层 |阅读模式
这是骑兵系列第二篇文章,上一篇我分享了如何尽可能DRY的编写查询缓存(以memcache为例子)。

场景分析:某网站用户通过搜索引擎(比如Google和百度)来到了你网站中的某个页面,为了让用户迅速定位它输入的关键词,通常我们希望将这些来源关键词进行高亮。

实现原理:1) 首先通过HTTP header分析referer(来源URL),并提取其中的关键词键值对;2) 在客户端使用JS或者服务器端使用PHP动态替换完成高亮文本替换。

献上代码:本例的PHP代码实现对referer的分析和关键词的提取; JS代码实现对指定DOM区域出现的关键词进行高亮.

代码在线查看:https://gist.github.com/1144785

使用方法举例:

PHP复制代码
 
<?php if($keywords = search_engine_hl()):?>
<script type="text/javascript">
var keywords = '<?php echo $keywords;?>';
Highlighter.highlight(keywords, $('.page_topic h1, .post_content p'));
</script>
<?php endif;?>
 
复制代码


请注意,例子中对DOM的选取用到了Jquery。

怎么样?网站看上去是不是更专业了些?希望大家也来分享。
发表于 2011-8-14 20:06:32 | 显示全部楼层
支持一下
发表于 2011-8-14 22:24:49 | 显示全部楼层
{:soso_e179:}
发表于 2011-8-30 17:40:40 | 显示全部楼层
赞一个,留备用
发表于 2011-9-12 06:42:20 | 显示全部楼层
这个留着
发表于 2011-11-1 16:15:52 | 显示全部楼层
这个留着
发表于 2012-10-30 11:37:28 | 显示全部楼层
骑兵系列,继续出吧,非常支持这种代码片段
发表于 2012-11-15 21:04:28 | 显示全部楼层
顶一个
发表于 2012-12-30 13:16:38 | 显示全部楼层
mark  备用

本版积分规则