php过滤script,php拦截器 过滤器

发布时间:2022-11-18

本文目录一览:

  1. php 过滤掉html标签及标签内的所有内容
  2. 用php过滤html部分标签
  3. PHP网站如何过滤页面提交的
  4. php怎样过滤非法字符防止sql注入?

php 过滤掉html标签及标签内的所有内容

方法一:使用strip_tags()函数 strip_tags() 函数剥去字符串中的 HTML、XML 以及PHP的标签。 使用案例:

$string = "p这里是潘旭博客/p"
$newStr = strip_tags($string);
echo $newStr;

方法二:使用str_replace()函数 str_replace() 函数以其他字符替换字符串中的一些字符(区分大小写) 使用案例:

$string = "p这里是潘旭博客/p";
$newStr = str_replace(array("p","/p"),array("",""));
echo $newStr;

另外还有一种是通过正则的方法,请参考:

用php过滤html部分标签

$str = preg_replace("/\s+/", " ", $str); //过滤多余回车
$str = preg_replace("/[ ]+/si","",$str); //过滤__(""号后面带空格)
$str = preg_replace("/\!--.*?--/si","",$str); //注释
$str = preg_replace("/(\!.*?)/si","",$str); //过滤DOCTYPE
$str = preg_replace("/(\/?html.*?)/si","",$str); //过滤html标签
$str = preg_replace("/(\/?head.*?)/si","",$str); //过滤head标签
$str = preg_replace("/(\/?meta.*?)/si","",$str); //过滤meta标签
$str = preg_replace("/(\/?body.*?)/si","",$str); //过滤body标签
$str = preg_replace("/(\/?link.*?)/si","",$str); //过滤link标签
$str = preg_replace("/(\/?form.*?)/si","",$str); //过滤form标签
$str = preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签
$str = preg_replace("/(applet.*?)(.*?)(\/applet.*?)/si","",$str); //过滤applet标签
$str = preg_replace("/(\/?applet.*?)/si","",$str); //过滤applet标签
$str = preg_replace("/(style.*?)(.*?)(\/style.*?)/si","",$str); //过滤style标签
$str = preg_replace("/(\/?style.*?)/si","",$str); //过滤style标签
$str = preg_replace("/(title.*?)(.*?)(\/title.*?)/si","",$str); //过滤title标签
$str = preg_replace("/(\/?title.*?)/si","",$str); //过滤title标签
$str = preg_replace("/(object.*?)(.*?)(\/object.*?)/si","",$str); //过滤object标签
$str = preg_replace("/(\/?objec.*?)/si","",$str); //过滤object标签
$str = preg_replace("/(noframes.*?)(.*?)(\/noframes.*?)/si","",$str); //过滤noframes标签
$str = preg_replace("/(\/?noframes.*?)/si","",$str); //过滤noframes标签
$str = preg_replace("/(i?frame.*?)(.*?)(\/i?frame.*?)/si","",$str); //过滤frame标签
$str = preg_replace("/(\/?i?frame.*?)/si","",$str); //过滤frame标签
$str = preg_replace("/(script.*?)(.*?)(\/script.*?)/si","",$str); //过滤script标签
$str = preg_replace("/(\/?script.*?)/si","",$str); //过滤script标签
$str = preg_replace("/javascript/si","Javascript",$str); //过滤script标签
$str = preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签
$str = preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //过滤script标签
$str = preg_replace("//si","#",$str); //过滤script标签,如javAsCript:alert(

清除空格,换行

function DeleteHtml($str)
{
    $str = trim($str);
    $str = strip_tags($str,"");
    $str = ereg_replace("\t","",$str);
    $str = ereg_replace("\r\n","",$str);
    $str = ereg_replace("\r","",$str);
    $str = ereg_replace("\n","",$str);
    $str = ereg_replace(" "," ",$str);
    return trim($str);
}

过滤HTML属性

  1. 过滤所有html标签的正则表达式:
/?[^]+

过滤所有html标签的属性的正则表达式:

$html = preg_replace("/([a-zA-Z]+)[^]*/","\\1",$html);
  1. 过滤部分html标签的正则表达式的排除式(比如排除p,即不过滤p):
/?[^pP/]+
  1. 过滤部分html标签的正则表达式的枚举式(比如需要过滤apb等):
/?[aApPbB][^]*
  1. 过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):
\s(?!alt)[a-zA-Z]+=[^\s]*
  1. 过滤部分html标签的属性的正则表达式的枚举式(比如alt属性):
(\s)alt=[^\s]*

PHP网站如何过滤页面提交的

你是想过滤掉还是想按照字面输出? 算了,都告诉你吧

  1. 过滤掉 strip_tags($content); 这个是所有标签,都被去掉了
  2. 按照原样显示
htmlspecialchars($content);

感觉这个还是不错的,推荐用这个,呵呵

php怎样过滤非法字符防止sql注入?

htmlspecialchars($_POST['字段'])

用这个函数就可以将一些特殊字符进行过滤转义。你可以去看看这个函数的说明。