文章内链的实现方法

飘逸的风13年前 (2012-11-19)程序6153

在很多的时候,我在浏览其他的网站发现文章中一写关键词都被加上了链接链向对应的页面,我就在想他们是怎么实现这个功能的?为什么这么做,这么做有什么好处?

 

当然有什么好处一看便知,无论是从访问者来说还是从网站放来说都是有益而无害的。对应访问者这样增加关联性阅读的便利,无需去找相关内容的入口,从网站方来说,这不仅增加了网站与访问者之间的粘性,同时也增加了站内的优化,百度等爬虫可以通过这些链接信息知道各个页面间的关联性及关系,在SEO上能得到有益于网站的好处。既然对应网站有好处何乐而不为呢?

 

很多页面都有几个关联链接,难道是网站编辑手动添加的链接吗?当然有的是编辑加的链接,但大部分是通过程序自动加的链接。

 

说了一堆的废话,下面说说要实现的效果:

1、同一篇文章中同一关键词出现多次的时候只给第一次出现的加链接。

2、一个关键词包含在另一个关键词中时,则只在包含的关键词加加链接,原因很简单,不能让一个链接包含在另一个链接中对吧

 

下面说说我初步实现的方法:

1、用程序批量生成关键词和链接对应的库或手动添加关键词和链接库(库可以用数组的格式以文件的形式存储)

2、在view页面输出内容时执行查找替换的操作。上代码吧

01 <?php
02 header("Content-Type:text/html; charset=utf-8");
03 $arr array(
04     "私募基金" => "https://www.licai.so/Simu/",
05     "私募" => "https://www.licai.so/Simu/",
06     "信托" => "https://www.licai.so/Trust",
07     "信托产品" => "https://www.licai.so/Trust/product",
08     "私募产品" => "https://www.licai.so/Simu/productlist/",
09     "理财搜" => "https://www.licai.so/"
10 );
11 ksort($arr);  //对关键词排序,短词排在前面
12 $str "这是我写一个关于私募基金和信托的测试字符串,我要从这个字符串中给相关的关键词产品、私募、信托加链接";
13 echo "原始字符串:" $str "<br/><br/>";
14 //遍历关键词库
15 foreach ($arr as $k => $v) {
16     //查找第一次出现的关键词并替换加上对应的链接
17     $str= preg_replace('/'.$k.'/','<a href="'.$v.'" target="_blank">' $k '</a>',$str,1);
18 }
19 echo $str;
20 ?>
原始字符串是:

1 这是我写一个关于私募基金和信托的测试字符串,我要从这个字符串中给相关的关键词产品、私募、信托加链接
替换完后是:
1 这是我写一个关于<a href="https://www.licai.so/Simu/" target="_blank">私募</a>基金和<a href="https://www.licai.so/Trust"target="_blank">信托</a>的测试字符串,我要从这个字符串中给相关的关键词产品、私募、信托加链接
文章来源:https://blog.51edm.org/post/72

相关文章

用php解析html

注:分析html的好东西 最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的...

如何实现PHP的计划(定时)任务和暂停任务

如果在服务器做计划任务是件很简单的事情,但是有的时候收条件限制无法使用服务器自带的计划任务,比如买的空间,这时候想要让网站定时执行某些操作(处理数据、生成静态文件、清除缓存...),该怎么办呢? &...

ECShop仿淘宝商品详细页 实现尺码颜色关联显示库存

ECShop仿淘宝商品详细页 实现尺码颜色关联显示库存

  ecshop服装商城很多都十分需要一个颜色尺码的功能,其实在淘宝,凡客上都类似的功能,客户在下单时选容易选择相应的颜色尺码,其实ecshop要实现这样的功能并不难,因为ecshop是开源免费的。...

ECShop设置模板的原理以及一些模板设置函数说明(个人观点)

ECShop设置模板的原理以及一些模板设置函数说明(个人观点) admin/includes/lib_template.php 一些函数及变量说明 $template_files...

可以让PHP编程事半功倍的类库

可以让PHP编程事半功倍的类库

在用php开发网站的时候,使用面向对象的方法确实可以提高代码复用率,减少代码冗余。而对初学者更友好的是,PHP开发网站所需要的大部分类库,网上都有十分优秀的类库存在了。作为一个程序猿当然不能重复制造轮...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。