您当前的位置: 首页 > 网站编程 > PHP教程 > php中html字符串过滤函数

php中html字符串过滤函数

作者:不详 来源:网络 发布时间: 2014-08-12 13:55 点击:
自定义的一个函数 代码如下 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, '

php中html字符串过滤函数

  自定义的一个函数

  

  

  

  

  

  

  

  

  

  

  
代码如下


  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 = stri

  pslashes_array($_GET);

  $_POST = stripslashes_array($_POST);

  }



  function stripslashes_array(&$array) {

  while(list($key,$var) = each($array)) {

  if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {

  if (is_string($var)) {

  $array[$key] = stripslashes($var);

  }

  if (is_array($var)) {

  $array[$key] = stripslashes_array($var);

  }

  }

  }

  return $array;

  }

          //--------------------------

  // 替换HTML尾标签,为过滤服务 www.111cn.net

  //--------------------------

  function lib_replace_end_tag($str)

  {

  if (empty($str)) return false;

  $str = htmlspecialchars($str);

  $str = str_replace( '/', "", $str);

  $str = str_replace("", "", $str);

  $str = str_replace("&gt", "", $str);

  $str = str_replace("&lt", "", $str);

  $str = str_replace("<SCRIPT>", "", $str);

  $str = str_replace("</SCRIPT>", "", $str);

  $str = str_replace("<script>", "", $str);

  $str = str_replace("</script>", "", $str);

  $str=str_replace("select","select",$str);

  $str=str_replace("join","join",$str);

  $str=str_replace("union","union",$str);

  $str=str_replace("where","where",$str);

  $str=str_replace("insert","insert",$str);

  $str=str_replace("delete","delete",$str);

  $str=str_replace("update","update",$str);

  $str=str_replace("like","like",$str);

  $str=str_replace("drop","drop",$str);

  $str=str_replace("create","create",$str);

  $str=str_replace("modify","modify",$str);

  $str=str_replace("rename","rename",$str);

  $str=str_replace("alter","alter",$str);

  $str=str_replace("cas","cast",$str);

  $str=str_replace("&","&",$str);

  $str=str_replace(">",">",$str);

  $str=str_replace("<","<",$str);

  $str=str_replace(" ",chr(32),$str);

  $str=str_replace(" ",chr(9),$str);

  $str=str_replace("   ",chr(9),$str);

  $str=str_replace("&",chr(34),$str);

  $str=str_replace("'",chr(39),$str);

  $str=str_replace("<br />",chr(13),$str);

  $str=str_replace("''","'",$str);

  $str=str_replace("css","'",$str);

  $str=str_replace("CSS","'",$str);

  return $str;

  }

  


  使用方法

  

  

  

  

  

  

  

  

  

  

  
代码如下


  引用是直接这样:

  $xxx = htmlspecialchars($_POST['xxx']);

  或者

  $xxx = htmlspecialchars($_GET['xxx']);

  
分享到:
本文"php中html字符串过滤函数"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4