phpcms编辑器添加iframe后显示代码不显示视频的解决方法
admin
2017-04-25 10:26:46
使用优酷的通用代码可以在手机上显示视频,而其他的却不行,所以我一般添加优酷视频的时候会用通用代码
但是在phpcms v9中添加通用代码后发现,文章页直接把代码显示出来了,而不显示优酷视频,怎么解决呢?
打开 /phpcms/libs/functions/global.func.php 文件
查找iframe找到如下代码:
function remove_xss($string) {
$string = preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]+/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', '<\\1script\\2>', $str );
$str = preg_replace ( '/\<([\/]?)iframe([^\>]*?)\>/si', '<\\1iframe\\2>', $str );
$str = preg_replace ( '/\<([\/]?)frame([^\>]*?)\>/si', '<\\1frame\\2>', $str );
$str = str_replace ( 'javascript:', 'javascript:', $str );
}
return $str;
}
将$str = preg_replace ( '/\<([\/]?)iframe([^\>]*?)\>/si', '<\\1iframe\\2>', $str );注释或删除或将iframe修改为其他不能识别的字段
¥ 打赏
×
如果您觉得文章帮助了您就打赏一下吧
非常感谢你的打赏,我们将继续分享更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏
本文《phpcms编辑器添加iframe后显示代码不显示视频的解决方法》发布于石头博客文章,作者:admin,如若转载,请注明出处:https://www.pweb123.com/cms/phpcms/691.html,否则禁止转载,谢谢配合!
您可能感兴趣
阅读排行
小程序插件
站长推荐
-
-
-
百度小程序审核被拒原因--汇总各种奇葩原因
- 587
-
-
-
重新对百度支付进行编写封装(百度智能小程序支付)
- 424
-
-
-
phpcms小程序插件api接口升级到4.3
- 869
-

添加微信好友
文章点评