美浩工作室是一个以90后团队为主的网站设计,制作,优化,维护为一体的网站建设工作室,为您量身定制适合企业自身的网站,欢迎咨询:15249241469

PHP实现文章关键字自动加链接的方法

PHP+MYSQL mihoweb 1748℃ 0评论

PHP给文章加关键字连接,像163文章内容自动加链接效果,其实很多php网站管理系统里面都有,可以参考里面的代码。

未标题-1一般在文章展示的时候,都会将其中的关键词加上链接,增加网站的粘合性。咋一想挺简单的,直接替换字符串不就行了。可细细想来,还是有不少问题。比如文章内的html标签,标签里的内容可以不用替换;再比如一个关键词包含另外一个关键词,如果先替换短的关键词,那就会有问题。
针对这些问题,笔者做了一些处理,封装成了一个类:

  1. <?php     
  2.     function keyword_replace($str$key_array){     
  3.         $array_first = $key_array;    
  4.         $array_last = array();     
  5.         foreach($array_first as $key=>$value){     
  6.              $array_last[$key] = array(‘TFXS00′ . $key$value[0], ’<a target=“_blank” href=“‘ . $value[1] . ’” title=“‘ . $value[0] . ’”>’ . $value[0] . ’</a>’);     
  7.         }     
  8.         $count = count($array_last);     
  9.         for($i=0;$i<$count;$i++){     
  10.             for($j=$count-1;$j>$i;$j–){     
  11.                 //如果后一个元素长度大于前一个则调换位置     
  12.                 if(strlen($array_last[$j][1]) > strlen($array_last[$j-1][1])){     
  13.                     $tmp = $array_last[$j];   
  14.                     $array_last[$j] = $array_last[$j-1];     
  15.                     $array_last[$j-1] = $tmp;     
  16.                  }   
  17.             }     
  18.          }     
  19.          $keys = $array_last;     
  20.          foreach($keys as $nkeys){     
  21.             $str = str_ireplace($nkeys[1], $nkeys[0], $str);   
  22.          }     
  23.          foreach($keys as $nkeys){     
  24.             $str = str_ireplace($nkeys[0], $nkeys[2], $str);   
  25.          }     
  26.          return $str;     
  27.     }   
  28.   
  29.     $str = “<p>今天是2012年1月9号,ugg boots网站,seo就是搜索引擎优化了google,girls ugg boots,css+div,Photoshop,Flash,HTML,CSS,Dreamweaver,Fireworks,ASP,PHP,JSP,ASP.NET</p>”;     
  30.   
  31.     //关键词设置   
  32.     $key_array = array(     
  33.         array(‘搜索’, ’http://www.baidu.com’),   
  34.         array(‘google’, ’http://www.google.com’)   
  35.     );    
  36.   
  37.     //在输出文章内容的地方调用这个函数 $str为文章内容    
  38.     echo keyword_replace(stripslashes($str), $key_array);   
  39. ?>  

如果您喜欢这篇文章,欢迎分享订阅。

转载请注明:美浩工作室官方博客 » PHP实现文章关键字自动加链接的方法

喜欢 (1)