最新公告
  • 欢迎访问代码工坊,购买产品可享受在线工单服务!
  • 帝国CMS过滤模板中输出的html标签和html实体函数及使用方法

      帝国cms前端模板由于安全限制,会对灵动标签、列表页等输出的数据进行转义,例如网站列表页,会出现下方的情况。里边出现了“或者其他HTML实体字符,影响浏览体验。

    帝国CMS过滤模板中输出的html标签和html实体函数及使用方法

      我们构造一个过滤函数,将其放在“/e/class/connect.php”或者“/e/class/userfun.php”里面,代码如下:

    //去除帝国cms模板中的HTML实体
    function Dmgf_FormatHTML($string) {
        $string = preg_replace("'<script[^>]*?>.*?</script>'si", "", $string); //去掉javascript
        $string = preg_replace("'<[/!]*?[^<>]*?>'si", "", $string); //去掉HTML标记
        $string = preg_replace("'([rn])[s]+'", "", $string); //去掉空白字符
        $string = mb_ereg_replace('^( | )+', '', $string);
        $string = mb_ereg_replace('( | )+$', '', $string);
        $string = preg_replace("'&(quot|#34);'i", "", $string);
        $string = preg_replace("'&(rdquo);'i", "", $string);
        $string = preg_replace("'&(amp|#38);'i", "", $string);
        $string = preg_replace("'&(lt|#60);'i", "", $string);
        $string = preg_replace("'&(gt|#62);'i", "", $string);
        $string = preg_replace("'&(nbsp|#160);'i", "", $string);
        return $string;
    }
    

      接下来我们在前端模板中调用该函数,使用方式如下,就可以实现过滤帝国cms模板中输出数据的html字符了。:

    <?=Dmgf_FormatHTML($navinfo['smalltext'])?>

    发表评论