欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 给文本中的关键字加上链接的解决方案

程序员文章站 2022-03-10 14:52:20
...
经常在网上拜读各路牛人的技术博客,普遍发现牛人写的博客不仅内容质量高,连文字排版也很精美。博客上经常会有给关键字加上链接的,比如碰到Linux就给其加上wiki的Linux链接,碰到ipad就给其加上apple官网上的ipad页面。。。请问这类效果普遍采用怎样的解决方案呢?我自己想的是首先做一个关键词的散列表,key到value的,然后搜索博客全文,查找key,替换成value的值。请问是不是这样的思路?还是有更好的解决办法或者有什么类似于插件一样的东西可以直接拿来用的。请各路大侠指教。谢谢。

回复内容:

经常在网上拜读各路牛人的技术博客,普遍发现牛人写的博客不仅内容质量高,连文字排版也很精美。博客上经常会有给关键字加上链接的,比如碰到Linux就给其加上wiki的Linux链接,碰到ipad就给其加上apple官网上的ipad页面。。。请问这类效果普遍采用怎样的解决方案呢?我自己想的是首先做一个关键词的散列表,key到value的,然后搜索博客全文,查找key,替换成value的值。请问是不是这样的思路?还是有更好的解决办法或者有什么类似于插件一样的东西可以直接拿来用的。请各路大侠指教。谢谢。

替换思路

建立关键词列表

$keywords = array(
    array('apple', 'http://www.apple.com/'),
    array('iphone', 'http://www.apple.com/iphone/'),
    array('ipad', 'http://www.apple.com/ipad/'),
);

搜索博客全文查找 keyword,将搜索到的 keyword 用str_replace()替换成keyword

替换方法

1、在输出文章时程序后台自动处理
2、程序只输出符合要求的关键词列表,替换交给 javascript

可以使用类似http://www.apture.com/网站提供的服务。智能识别,根据选择的内容来源来决定。

你这个其实就类似,搜索结果高亮,可以参考http://search.haohaoup.com/?q=%E5%8D%...
关键问题是你怎样去找到这些关键字。
你可以采用分词技术将这些关键字找出来,然后做包装。

@熠熠 还有这么酷的网站,谢谢!