6683637 发表于 2012-4-26 09:20:09

为指定关键字加链接锚文本:加了注释+有点不解

本帖最后由 6683637 于 2012-4-26 09:27 编辑

<?php
/*
来两句话,本人快揭不开锅了。有需要哪哈 哪哈 哪哈的朋友记得加我QQ 17547523 只要能赚钱 干啥都行。
论坛ID lypying
不付费没有技术支持 自己研究或看教程
http://bbs.locoy.com/spider-58713-1-1.html
*/
function str_replace_once($needle, $replace, $haystack)//needle原来要替换的字符,replace为替换后的字符,haystack为原来的内容
{
global $gbi;
$pos = strpos($haystack, $needle); // 得到要替换字符的位置 needle为要替换字符,$haystack是文章

if ($pos === false) {//没有在文章里面找到关键字

return $haystack;        //返回文章,等于跳出这个函数

} //如果没有就返回$haystack
else{
      if($gbi>=2){
                return $haystack;
            }
                else{
$gbi++;        //如果关键字小于2个则网上递增中间量
return substr_replace($haystack, $replace, $pos, strlen($needle));//haystack为原来的内容,replace替换的内容\既然SEO过的内容,pos从哪里开始替换,strlen($needle)替换长度
                                                                  //该程序只做一次替换。
                }
                        
      
    }
}

if($LabelArray['内容'])
{
$gbi=0;
$array=array("北京|<a href=www.163.com>北京</a>","天津|<a href=www.163.com>天津</a>","上海|<a href=www.163.com>上海</a>","重庆|<a href=www.163.com>重庆</a>");
foreach ($array as $v) {
      //echo $v."<br>";
      $arrstr= split ('[|]',$v);//返回$arrstr:原来的内容   $arrstr:替换的内容
        $LabelArray['内容']=str_replace_once($arrstr, $arrstr, $LabelArray['内容']);   //执行替换一次的函数
}

}
//#############以上为用户操作区域#############################################################################################################################
//#############以下语句必须保留,建议不更改###################################################################################################################
//ob_clean();
echo serialize($LabelArray);    //将内容数组序列化,不过这一句是否必要还不清楚,第一次接触火车头的PHP接口
?>在该文章学会了以下函数。
 strpos() 函数返回字符串在另一个字符串中第一次出现的位置。
   substr_replace() 函数把字符串的一部分替换为另一个字符串。
   foreach ($array as $v):对$v在这里的作用不是很明白
   split ('[|]',$v):将$v字符串里面的内容以|为界限分劈,返回数组
   serialize:对数组进行序列化,不知道作用是什么

规则教程第七之插件教程之为指定关键字加链接锚文本
http://bbs.locoy.com/forum.php?mod=viewthread&tid=58713&highlight=%B2%E5%BC%FE


    非常感谢lypying 兄提供这个代码,我是第一次接触火车头的PHP代码编写,以前也没怎么学过PHP,不知道上面的注释对不对,如果有错误,还希望有懂得的朋友纠正。不尽感激。
页: [1]
查看完整版本: 为指定关键字加链接锚文本:加了注释+有点不解