欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php实现关键词自动加链接_PHP教程

程序员文章站 2022-05-24 21:59:52
...
前段时间想给自己zencart站群的描述内容做下关键词连接,但是因为关键词太多,所以想写段程序自动执行这个功能,但是本人的没有认真学过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], ''.$value[0].'');
}
$count = count($array_last);
for($i=0; $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.2cto.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 这种情况。。

以上,自己感觉这个功能还是太简单了点,还可以加上替换次数控制,把关键词及链接数据写入到数据库中,但是自己刚起步学习这些东西,很多地方不知道怎么做,会继续努力的。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478419.htmlTechArticle前段时间想给自己zencart站群的描述内容做下关键词连接,但是因为关键词太多,所以想写段程序自动执行这个功能,但是本人的没有认真学...