前端之家收集整理的这篇文章主要介绍了
PHP 提交过滤函数用法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对
PHP提交过滤
函数感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
/**
* PHP提交过滤函数
*
* @param
* @arrange 512-笔记网: jb51.cc
**/
function filter($text)
{
//完全过滤注释
$text = preg_replace('/<!--?.*-->/','',$text);
//完全过滤js
$text = preg_replace('/<script?.*\/script>/',$text);
//过滤危险的属性,如:过滤on事件lang js
while (preg_match('/(<[^><]+)( lang|action|background|codebase|dynsrc|lowsrc)[^><]+/i',$text,$mat)) {
$text = str_replace($mat[0],$mat[1],$text);
}
while (preg_match('/(<[^><]+)(window\.|javascript:|js:|about:|file:|document\.|vbs:|cookie)([^><]*)/i',$mat[1] . $mat[3],$text);
}
//过滤多余html
$text = preg_replace('/<\/?(html|head|Meta|link|base|basefont|body|bgsound|script|form|iframe|frame|frameset|applet|id|ilayer|layer|name|script|xml)[^><]*>/i',$text);
//反转换
$text = str_replace('[','<',$text);
$text = str_replace(']','>',$text);
$text = str_replace('|','"',$text);
return $text;
}
/*** 来自编程之家 jb51.cc(jb51.cc) ***/