帝国CMS二次开发禁止内容图片和链接中的alt与title替换成关键词
2018-10-26 站长 站长日志
此禁止内容图片和链接中的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是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。