帝国cms 设置关键字替换次数 防止关键字替换到alt

来源:互联网 发布:js模块化编程原理 编辑:程序博客网 时间:2024/04/28 09:27

首先在系统设置-信息设置里面设置 信息内容关键字重复替换


这样能替换关键字但是会重复替换


打开Function.php

找到ReplaceKey,替换成以下(帝国7.0)

//替换关键字function ReplaceKey($newstext,$classid=0){global $empire,$dbtbpre,$public_r,$class_r;if(empty($newstext)||$class_r[$classid]['keycid']==-1){return $newstext;}$where='';if(!empty($class_r[$classid]['keycid'])){$where=" where cid='".$class_r[$classid]['keycid']."'";}$sql=$empire->query("select keyname,keyurl from {$dbtbpre}enewskey".$where);while($r=$empire->fetch($sql)){if(STR_IREPLACE){$newstext=empty($public_r[repkeynum])?str_ireplace($r[keyname],'<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext):preg_replace('/(?!<[^>]*)'.$r[keyname].'(?![^<]*>)/i','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);}else{$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].'(?![^<]*>)/i','<a href='.$r[keyurl].' target=_blank class=infotextkey>'.$r[keyname].'</a>',$newstext,$public_r[repkeynum]);}}return $newstext;}


0 0
原创粉丝点击