虚位以待(AD)
虚位以待(AD)
首页 > CMS教程 > phpcms > phpcms编辑器添加iframe后显示代码不显示视频的解决方法

phpcms编辑器添加iframe后显示代码不显示视频的解决方法
类别:phpcms   作者:码皇   来源:互联网   点击:

使用优酷的通用代码可以在手机上显示视频,而其他的却不行,所以我一般添加优酷视频的时候会用通用代码 但是在phpcms v9中添加通用代码后发现,文章页直接把代码显示出来了,而不显示优酷视频,怎么解决呢? 打开 ,魔客吧
使用优酷的通用代码可以在手机上显示视频,而其他的却不行,所以我一般添加优酷视频的时候会用通用代码
但是在phpcms v9中添加通用代码后发现,文章页直接把代码显示出来了,而不显示优酷视频,怎么解决呢?

打开 /phpcms/libs/functions/global.func.php 文件
查找iframe找到如下代码:
function remove_xss($string) {
    $string = preg_replace('/[x00-x08x0Bx0Cx0E-x1Fx7F]+/S', '', $string);
    $parm1 = Array('javascript', 'vbscript', 'expression', 'applet', 'meta', 'xml', 'blink', 'link', 'script', 'embed', 'object', 'iframe', 'frame', 'frameset', 'ilayer', 'layer', 'bgsound', 'title', 'base');

将此代码中的'iframe',删除或将iframe修改为其他不能识别的字段:如:cmsjzy_iframe

在此文件中继续查找会找到如下代码:
function trim_script($str) {
    if(is_array($str)){
        foreach ($str as $key => $val){
            $str[$key] = trim_script($val);
        }
     }else{
         $str = preg_replace ( '/<([/]?)script([^>]*?)>/si', '&lt;\1script\2&gt;', $str );
        $str = preg_replace ( '/<([/]?)iframe([^>]*?)>/si', '&lt;\1iframe\2&gt;', $str );
        $str = preg_replace ( '/<([/]?)frame([^>]*?)>/si', '&lt;\1frame\2&gt;', $str );
        $str = str_replace ( 'javascript:', 'javascript:', $str );
     }
    return $str;
}

$str = preg_replace ( '/<([/]?)iframe([^>]*?)>/si', '&lt;\1iframe\2&gt;', $str );注释或删除或将iframe修改为其他不能识别的字段
相关热词搜索: phpcms编辑器添加iframe后显示代码不显示视