解决方法一:

仅限于系统设置了替换次数,实际上从seo来说不建议把整篇文章都替换,那样页面中如果出现关键字过多,那么相同连接就泛滥了,如果你系统设置中设置的替换成1次,2次,只要不是0,那么修改e/class/functions.php中的ReplaceKey函数,425行左右,修改如下:

原函数:
$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);

修改后的:
$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/(?!<[^>]*)'.$r[keyname].'(?![^<]*>)/','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);
preg_replace是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。以上代码只是防止 ALT属性被替换
修改前记得备份,改坏了不负责。 本方法干净大方,无累赘,不增加负担~ 在6.6版本测试通过。

alt与超L接被替换的解决方法

使用正则  '/'.$r[keyname].'(?!([^<]*>)|([^<]*</a>))/i'  红色为增加的正则,该方法在 7.2UTF8测试通过

解决方法二:

在e/class/functions.php中,查找代码:“ function ReplaceKey($newstext,$classid=0)” 或 “//替换关键字”(有时打开为utf-8时中文显示为乱码)

此方法为本站(玖富圈网赚)自用的解决方案 效果杠杠的 不需要设置替换次数

把这一大段(即:“//替换关键字”部分)替换为以下代码:

-----------------------------------------------------------------------------------------------

//替换关键字function ReplaceKey($newstext,$classid=0){    global $empire,$dbtbpre,$public_r,$class_r;    if(empty($newstext)||$class_r[$classid]['keycid']==-1)    {return $newstext;}    $where='';    if(!empty($class_r[$classid]['keycid']))    {        $where=" where cid='".$class_r[$classid]['keycid']."'";    }    $newstext=stripslashes($newstext);    preg_match_all('/<a[^>](.*)a>|<img[^>](.*)>/isU',stripslashes($newstext),$rs);      if($rs[0]){        foreach($rs[0] as $k=>$v){            $newstext=str_replace($v,"[!--{$k}--]",$newstext);         }    }    $sql=$empire->query("select keyname,keyurl from {$dbtbpre}enewskey".$where);    while($r=$empire->fetch($sql))    {        if(STR_IREPLACE)        {            $newstext=empty($public_r[repkeynum])?str_ireplace($r[keyname],'<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/i','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);        }        else        {            $newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/i','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);        }    }    if($rs[0]){        foreach($rs[0] as $k=>$v){            $newstext=str_replace("[!--{$k}--]",$v,$newstext);         }    }    return $newstext;}

至此教程结束,如您转载 请注明转载自玖富圈网赚博客,感谢您的支持!

升级超级VIP会员 全站(99%)的资源免费下载,本站均为虚拟资源,购买下载后不退款!

微信公众号

标签: 替换 关键词 帝国