自定义的一个函数
代码如下 | 复制代码 |
function StripHTML($string){ $pattern=array ("'<script[^>]*?>.*?</script>'si", "'<style[^>]*?>.*?</style>'si", "'<[/!]*?[^<>]*?>'si", "'([rn])[s]+'", "'&(quot|#34);'i", "'&(amp|#38);'i", "'&(lt|#60);'i", "'&(gt|#62);'i", "'&(nbsp|#160);'i", "'&(iexcl|#161);'i", "'&(cent|#162);'i", "'&(pound|#163);'i", "'&(copy|#169);'i", "'&#(d+);'e"); $replace=array ('', '', "\1", '', "&", "<", ">", ' ', chr(161), chr(162), chr(163), chr(169), "chr(\1)"); return preg_replace ($pattern, $replace, $str); } |
除了上面自定的函数之外还有一个php自带的过滤html的函数:strip_tags(string) 这样就可以过滤掉所有的html标签了。
如果想过滤掉除了<img src="">之外的所有html标签,则可以这样写:
代码如下 | 复制代码 |
strip_tags(string,"<img>"); |
过滤除了<img src=""><p>xxx</p><b></b>之外的所有html标签,则可以这样写:
代码如下 | 复制代码 |
strip_tags(string,"<img><p><b>"); |
网上找到一个防sql注入函数
代码如下 | 复制代码 |
//php 批量过滤post,get敏感数据 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); } function stripslashes_array(&$array) { // 替换HTML尾标签,为过滤服务 www.111cn.net return $str; } |
使用方法
代码如下 | 复制代码 |
引用是直接这样: $xxx = htmlspecialchars($_POST['xxx']); 或者 $xxx = htmlspecialchars($_GET['xxx']); |