php文章内链的实现方法

在很多的时候,浏览其他的网站发现文章中一些关键词都被加上了链接链向对应的页面,想他们是怎么实现这个功能的?为什么这么做,这么做有什么好处?
当然有什么好处一看便知,无论是从访问者来说还是从网站方来说都是有益而无害的。对应访问者这样增加关联性阅读的便利,无需去找相关内容的入口,从网站方来说,这不仅增加了网站与访问者之间的粘性,同时也增加了站内的优化,百度等爬虫可以通过这些链接信息知道各个页面间的关联性及关系,在SEO上能得到有益于网站的好处。既然对应网站有好处何乐而不为呢?
很多页面都有几个关联链接,难道是网站编辑手动添加的链接吗?当然有的是编辑加的链接,但大部分是通过程序自动加的链接。

说了一堆的废话,下面说说要实现的效果:
1、同一篇文章中同一关键词出现多次的时候只给第一次出现的加链接。
2、一个关键词包含在另一个关键词中时,则只在包含的关键词加加链接,原因很简单,不能让一个链接包含在另一个链接中对吧

下面说说我初步实现的方法:
1、用程序批量生成关键词和链接对应的库或手动添加关键词和链接库(库可以用数组的格式以文件的形式存储)
2、在view页面输出内容时执行查找替换的操作。上代码吧
<?php
header("Content-Type:text/html; charset=utf-8");
$arr = array(
    "ECSHOP插件" => "https://www.ecshop.cx/category-1-b0.html",
    "插件" => "https://www.ecshop.cx/category-1-b0.html",
    "模板" => "https://www.ecshop.cx/category-2-b0.html",
    "ECSHOP开发" => "https://www.ecshop.cx/",
    "ECSHOP功能" => "https://www.ecshop.cx/category-1-b0.html"
);
ksort($arr);  //对关键词排序,短词排在前面
$str = "这是我写一个关于ECSHOP插件和模板的测试字符串,我要从这个字符串中给相关的关键词产品、插件、模板加链接";
echo "原始字符串:" . $str . "<br/><br/>";
//遍历关键词库
foreach ($arr as $k => $v)
{
    //查找第一次出现的关键词并替换加上对应的链接
    $str= preg_replace('/'.$k.'/','<a href="'.$v.'" target="_blank">' . $k . '</a>',$str,1);
}
echo $str;
?>
原始字符串是:
这是我写一个关于ECSHOP插件和模板的测试字符串,我要从这个字符串中给相关的关键词产品、插件、模板加链接
替换完后是:
这是我写一个关于<a href="https://www.ecshop.cx/category-1-b0.html" target="_blank">ECSHOP插件</a>和<a href="https://www.ecshop.cx/category-2-b0.html" target="_blank">模板</a>的测试字符串,我要从这个字符串中给相关的关键词产品、<a href="https://www.ecshop.cx/category-1-b0.html" target="_blank">插件</a>、<a href="https://www.ecshop.cx/category-2-b0.html" target="_blank">模板</a>加链接

本文原创地址:https://www.ecshop.cx/article-580.html
版权所有 © 转载时必须以链接形式注明出处!

觉得本文对您有用,想收藏下来!方法很简单:请点击-〉
我们一直坚持白天工作、晚上熬夜更新资源,付出了巨大的精力和时间,其中的辛酸难以言述。

实时购买动态 ×

匿名网友 在 2019-11-15 购买了 ECSHOP指定禁止会员登录插件