帝国CMS二次开发禁止内容图片和链接中的alt与title替换成关键词
2020-04-10 站长 站长日志
此禁止内容图片和链接中的alt与title替换成关键词的方法仅限于系统设置了替换次数,如果你系统设置中设置的替换成1次,2次,只要不是0,那么修改e/class/functions.php中的ReplaceKey函数,425行,修改如下:
原函数:
1 | $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]); |
修改后的:
1 | $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是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。