当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国CMS正文内容设置关键词与图片链接冲突

3年前 (2022-10-21)帝国CMS5130

帝国CMS正文内容设置关键词与图片链接冲突

 

以下是解决方法,已测试!

在e/class/functions.php中,查找代码:“ function ReplaceKey($newstext,$classid=0)” 或 “//替换关键字”(有时打开为utf-8时中文显示为乱码)

把这一大段大部分(即:“//替换关键字”部分)替换为以下代码:

//替换关键字
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']."'";
    }
    $newstext=stripslashes($newstext);
    preg_match_all('/<a[^>](.*)a>|<img[^>](.*)>/isU',stripslashes($newstext),$rs);
   
    if($rs[0]){
        foreach($rs[0] as $k=>$v){
            $newstext=str_replace($v,"[!--{$k}--]",$newstext); 
        }
    }
    $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]);
        }
    }
    if($rs[0]){
        foreach($rs[0] as $k=>$v){
            $newstext=str_replace("[!--{$k}--]",$v,$newstext); 
        }
    }
    return $newstext;
}

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/225.shtml

“帝国CMS正文内容设置关键词与图片链接冲突” 的相关文章

帝国CMS记录信息发布者IP

帝国CMS记录信息发布者IP

帝国CMS记录信息发布者IP的实现,其实增加字段就可以实现. 增加“infoip”字段,infoip为记录IP的字段,只需将字段设置为录入项或投稿项,增加信息时自动存储发布者IP,字段类型用VARCHAR、长度15。是不是有点简单了呢。...

帝国CMS下载不弹出窗口的修改方法

帝国CMS下载不弹出窗口的修改方法

帝国CMS在下载模板的时候,如果不采用弹出式下载的话,可以试试下面的方法: 步骤如下: 1.修改下载地址模板("公共模板" -> "修改下载地址模板"): 将: [ <a href=#edown onclick="window.open('[!---down.url--]','','w...

帝国CMS列表内容模板(list.var)调用会员头像会员名称等

帝国CMS列表内容模板(list.var)调用会员头像会员名称等

帝国CMS列表内容模板的list.var里面怎么调用会员头像。会员名称,文章标题和文章链接呢?其实方法也很简单,下面帝国cms模板网就来为大家分享: 标签代码如下: $userr=$empire->fetch1("select userpic  from {$dbtbpre}enewsmem...

帝国CMS灵动标签调用包含指定关键词关键字文章

帝国CMS灵动标签调用包含指定关键词关键字文章

用灵动标签调用包含指定的关键词,和关键字的文章呢?其实实现的方法不难,以下是调用方法: 指定关键词调用: [e:loop={"select * from {$dbtbpre}ecms_news where title like '%这里是指定的关键词%' and checked=1 order b...

帝国CMS内容页字段为空判断的用法

帝国CMS内容页字段为空判断的用法

帝国CMS内容页中,如果某个字段没有填写内容就不显示,填写了就正常显示,这种效果怎么实现? PHP判断实现,代码如下: <?php if($navinfor[字段名]) { ?> 现在的内容 <? } else { ?> 不显示 <? } ?>...

帝国CMS灵动标签SQL调用广告

帝国CMS灵动标签SQL调用广告

帝国CMS怎么用灵动标签SQL调用广告呢? 标签实例: [e:loop={"select * from phome_enewsad where adid in (1,2,3) and t=0 order by adid desc limit 20",0,24}] <a href="<?...