头像

PHP实现文章内链的解决方法

2017-09-27 10:30:47 来源:PHP代码   浏览()   评论 ( 0 )   

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

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

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

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

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

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

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

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

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

    <?php  
    header("Content-Type:text/html; charset=utf-8");  
    $arr = array(  
        "php" => "http://www.xxx.com",  
        "cms" => "http://www.xxx.com",  
        "tp" => "http://www.xxx.com",  
        "THINKPHP" => "http://www.xxx.com",   
    );  
    ksort($arr);  //对关键词排序,短词排在前面  
    $str = "这是我写的一段话";  
    echo "原始字符串:" . $str . "<br/><br/>";  
    //遍历关键词库  
    foreach ($arr as $k => $v) {  
        //查找第一次出现的关键词并替换加上对应的链接  
        $str= preg_replace('/'.$k.'/','<a href="'.$v.'" target="_blank">' . $k . '</a>',$str,1);  
    }  
    echo $str;  
    ?>


标签: phpmysql
声明:转载请注明来源(PHP代码)并保留原文链接:https://www.phpdaima.com//it-12.html
广告不存在
评论0

后面还有条评论,点击查看>>

温馨提示:为规范评论内容,垃圾评论一律封号...