php实现关键词自动加链接
2915 点击·0 回帖
![]() | ![]() | |
![]() | 前段时间想给自己zencart站群的描述内容做下关键词连接,但是因为关键词太多,所以想写段程序自动执行这个功能,但是本人的没有认真学过php语言,所以参考网上很多资料,自己整理了一个函数 <?php function zen_key_replace($str){ $array_first = array( array('2012 New UGG Boots','link1.html'), array('black ugg boots','link2.html'), array('cheap ugg boots','link3.html'), array('cheapest ugg boots','link4.html'), array('discount ugg boots','link5.html'), array('girls ugg boots','link6.html'), array('grey ugg boots','link7.html'), array('ugg boots','link8.html') ); $array_last = array(); foreach($array_first as $key=>$value){ $array_last[$key] = array('TFXS00'.$key, $value[0], '<a href="'.$value[1].'" title="'.$value[0].'" rel="follow">'.$value[0].'</a>'); } $count = count($array_last); for($i=0; $i<$count; $i++){ for($j=$count-1; $j>$i; $j--){ //如果后一个元素长度大于前一个则调换位置 if(strlen($array_last[$j][1]) > strlen($array_last[$j-1][1])){ $tmp = $array_last[$j]; $array_last[$j] = $array_last[$j-1]; $array_last[$j-1] = $tmp; } } } $keys=$array_last; foreach($keys as $nkeys){ $str= str_ireplace($nkeys[1], $nkeys[0], $str); } foreach($keys as $nkeys){ $str= str_ireplace($nkeys[0], $nkeys[2], $str); } return $str; } 示例: www.atcpu.com $str ="今天是2012年1月9号,ugg boots网站,SEO就是搜索引擎优化了girls ugg boots,css+div,Photoshop,Flash,HTML,CSS,Dreamweaver,Fireworks,ASP,php,JSP,ASP.NET"; echo zen_key_replace(stripslashes($str));//在输出文章内容的地方调用这个函数$str为文章内容 ?> 先是一个数组排序,关键词长度长的优先,因为如果相关的短关键词在前面,则长的关键词不会被替换到,如果ugg boot 先替换过了 那么ugg boot sale 就已经变成TFXS008 sale 就不会被成功替换 然后是一个替换,之所以先替换一遍成TFXS001 是为了在第二次替换的时候不会因为 类似ugg boots 这个常出现的关键词而进行多次替换。。类似2012 New UGG Boots 这种情况。。 以上,自己感觉这个功能还是太简单了点,还可以加上替换次数控制,把关键词及链接数据写入到数据库中,但是自己刚起步学习这些东西,很多地方不知道怎么做,会继续努力的。 | |
![]() | ![]() |