phpcms V9 去除内容页里面的div字符串,防止网页变形

因为在内容页模板里面,已经是写死了的代码,在内容里面出现一对div 也会不其然地造成页面变形。
文件phpcms\libs\functions\global.func.php
大约130行左右
/**
* 转义 javascript 代码标记
*
* @param $str
* @return mixed
*/
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;
}
增加一个替换div的吧,因为如果过滤的话,又怕没有p控制缩进。(我是对内容里面的p进行了css控制缩进)
加上这个
$str = preg_replace ( '/\<([\/]?)div([^\>]*?)\>/si', '<\\1p\\2>', $str );
最后结果
/**
* 转义 javascript 代码标记
*
* @param $str
* @return mixed
*/
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 = preg_replace ( '/\<([\/]?)div([^\>]*?)\>/si', '<\\1p\\2>', $str );
$str = str_replace ( 'javascript:', 'javascript:', $str );
}
return $str;
}
已邀请:

要回复问题请先登录注册