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

帝国CMS教程

此禁止内容图片和链接中的alt与title替换成关键词的方法仅限于系统设置了替换次数,如果你系统设置中设置的替换成1次,2次,只要不是0,那么修改e/class/functions.php中的ReplaceKey函数,425行,修改如下:

原函数:

$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<ahref='.$r[keyurl].'target=_blankclass=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/'.$r[keyname].'/','<ahref='.$r[keyurl].'target=_blankclass=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);


修改后的:

$newstext=empty($public_r[repkeynum])?str_replace($r[keyname],'<ahref='.$r[keyurl].'target=_blankclass=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/(?!<[^>]*)'.$r[keyname].'(?![^<]*>)/','<ahref='.$r[keyurl].'target=_blankclass=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);

preg_replace是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。