Home > php教程 > php手册 > body text

php实现关键词自动加链接

WBOY
Release: 2016-06-13 10:47:07
Original
894 people have browsed it

前段时间想给自己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 这种情况。。
 
以上,自己感觉这个功能还是太简单了点,还可以加上替换次数控制,把关键词及链接数据写入到数据库中,但是自己刚起步学习这些东西,很多地方不知道怎么做,会继续努力的。

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!