帝国cms教程

帝国CMS二次开发禁止内容图片和链接中的alt与title替换成关键词

发表于:2018-10-26 08:43:27 栏目:帝国cms教程


此禁止内容图片和链接中的alt与title替换成关键词的方法仅限于系统设置了替换次数,如果你系统设置中设置的替换成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是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。