将帝国CMS二次开发中的内容图片和链接的alt与title替换为关键词
帝国CMS二次开发禁止内容图片和链接中的alt与title替换成关键词,这是因为搜索引擎会根据图片的alt属性和链接的title属性来判断网页内容。如果这些属性被替换成关键词,那么搜索引擎就无法准确地理解网页内容,从而影响网站的排名。此外,这种做法也会影响用户体验,因为用户无法通过查看图片的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是正则判断,就用正则表达式把<>里面的排除掉。这样一来问题就解决了。