saturn 发表于 2011-8-14 18:55:52

骑兵系列二:高亮Google/Baidu/Yahoo和站内搜索关键词

这是骑兵系列第二篇文章,上一篇我分享了如何尽可能DRY的编写查询缓存(以memcache为例子)。

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

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

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

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

使用方法举例:


<?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。

怎么样?网站看上去是不是更专业了些?希望大家也来分享。

yeseason 发表于 2011-8-14 20:06:32

支持一下

totti125 发表于 2011-8-14 22:24:49

{:soso_e179:}

lnlingyuan 发表于 2011-8-30 17:40:40

赞一个,留备用

sswowo 发表于 2011-9-12 06:42:20

这个留着

13880411700 发表于 2011-11-1 16:15:52

这个留着

^淡如清风 发表于 2012-10-30 11:37:28

骑兵系列,继续出吧,非常支持这种代码片段

partyisover 发表于 2012-11-15 21:04:28

顶一个

kevin11 发表于 2012-12-30 13:16:38

mark  备用
页: [1]
查看完整版本: 骑兵系列二:高亮Google/Baidu/Yahoo和站内搜索关键词