导航:首页 > 净水问答 > 发表内容过滤php

发表内容过滤php

发布时间:2024-11-26 10:19:53

A. 如何正确运用PHP filter判断过滤数据

PHP 5.2以及更高的版本,PHP filter被绑定于系统,它可以对数据进行自动的过滤和判断。 第一种、PHP filter判断一个变量的内容是否符合要求 使用函数filter_var,第一个参数是要判断的变量。第二个参数是判断的要求,FILTER_VALIDATE_EMAIL表示判断是否符合email格式。如果变量是类似’[email protected]’的数据,系统就会完整的输出‘[email protected]’。如果是错误的格式,比如’boy’,就会输出false。如果没有填写表单中的email字段,系统输出空字符串。$email=‘[email protected]’; echofilter_var($email, FILTER_VALIDATE_EMAIL); 第二种、PHP filter根据要求过滤一个变量的内容 和上面唯一的不同是第二个参数使用FILTER_SANITIZE_EMAIL,输出的结果会不同。如果变量是类似’[email protected]’的数据,系统就会完整的输出’[email protected]’。如果是错误的格式,比如’boy-afds3′,只要是数字和字母和划线等email格式中可以出现的内容,系统同样会完整的输出’boy-afds3′。如果变量没有设置内容,系统输出空字符串。如果是’boy阿三’,系统会把email格式中不允许的东西去除,输出’boy’。$email=‘[email protected]’; echofilter_var($email, FILTER_SANITIZE_EMAIL); 第三种、PHP filter判断输入的变量的内容是否符合要求 使用函数filter_input。第一个参数表示从那里获得的数据,INPUT_POST表示通过POST方法传递过来,还可以使用INPUT_GET, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV,代表相应的途径。第二个参数就是数据的名称。第三个参数代表过滤的要求,FILTER_VALIDATE_EMAIL表示判断数据是否符合email格式。 假设通过表单的POST过来的一个字段email。如果是类似 ’[email protected]’ 的数据,系统就会完整的输出’[email protected]’。如果是错误的格式,比如’boy’,就会输出false。如果没有填写表单中的email字段,系统输出null,也就是空。 echofilter_input(INPUT_POST, ‘email’,FILTER_VALIDATE_EMAIL); 第四种、PHP filter根据要求过滤输入的变量的内容 和上面唯一的不同是第二个参数使用FILTER_SANITIZE_EMAIL,输出的结果会不同。假设通过表单的POST过来的一个字段email。 如果是类似’[email protected]’的数据,系统就会完整的输出’[email protected]’。如果是错误的格式,比如’boy-afds3′,只要是数字和字母和划线等email格式中可以出现的内容,系统同样会完整的输出’boy-afds3′。如果没有填写表单中的email字段,系统输出null,也就是空。如果是’boy阿三’源码天空 ,系统会把email格式中不允许的东西去除,输出’boy’。 echofilter_input (INPUT_POST,‘email’,

B. 使用thinkphp时,表单提交的html内容,全被" \ " 反斜杠过滤了。怎么在前台读取到html实际内容呢去掉 \

因为默认的使用的htmlspecialchars()进行处理的。你可以使用
htmlspecialchars_decode()转成字符

C. 过滤不良词语PHP的代码应该怎样写

用遍历数组和Strpos来完成$str = "我爱你,不良词语1"; //受检测的字符串$arr=array('不良词语1','不良词语2','不良词语3');foreach ($arr as $v){ $check = strpos($str,$v); if ($check > 0) { echo "检测到不良词语"; die(); //程序终止 }echo "OK。通过检测,没有发现不良词语";}

D. 用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);

3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>):

复制代码 代码如下:

</?[^pP/>]+>

4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等):

复制代码 代码如下:

</?[aApPbB][^>]*>

5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性):

复制代码 代码如下:

\s(?!alt)[a-zA-Z]+=[^\s]*

6,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性):

复制代码 代码如下:

(\s)alt=[^\s]*

E. php中数据过滤的问题

我来解释一下吧
preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string);

去掉控制字符,你google一下ascii table就知道了,php里面 - 代表范围,比如\x00-\x08指的是ASCII代码在\x00到\x08范围的字符,\x0A和\x0D代表回车换行,所以没包含在这个里面,否则直接\x00-\x1F了,

$string = str_replace(array("\0","%00","\r"),'',$string);
\0表示ASCII 0x00的字符,通常作为字符串结束标志

$string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",'&',$string);

我们知道HTML里面可以用&#xxx;来对一些字符进行编码,比如 (空格), ߷ Unicode字符等,A(?!B) 表示的是A后面不是B,所以作者想保留 ߷类似的 HTML编码字符,去掉其他的问题字符,比如 &123; &#nbsp;

str_replace(array("%3C",'<'),'<',$string);

第一个'<'多余吧,%3C是编码以后的 <, 一般用在URL编码里

str_replace(array("%3E",'>'),'>',$string);

str_replace(array('"',"'","\t",' '),array('"',"'",'',''),$string);

略过

有问题再追问

F. 网站建设用php做,如何过滤非法字符

php网站建设过滤非法字符串方法很多,下面是一个函数,你看看那,用户发布的html,过滤危险代码

functionuh($str)

{

$farr=array(

"/s+/",//过滤多余的空白

"/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isU",//过滤<script等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可以加入<object的过滤

"/(<[^>]*)on[a-zA-Z]+s*=([^>]*>)/isU",//过滤javascript的on事件

);

$tarr=array(

"",

"<123>",//如果要直接清除不安全的标签,这里可以留空

"12",

);

$str=preg_replace($farr,$tarr,$str);

return;

}

阅读全文

与发表内容过滤php相关的资料

热点内容
兰花叶片水垢 浏览:525
靖江大兴污水处理厂 浏览:333
饮水机休眠怎么办 浏览:375
电瓶用的蒸馏水是什么做的 浏览:970
净水器换一体滤芯什么价 浏览:726
半透膜使用 浏览:820
怎么洗干净瓶底的水垢 浏览:694
污水拉运如何管理 浏览:124
不锈钢壶水垢怎么出掉 浏览:230
污水处理值班员 浏览:934
小米净化空气净化器怎么清洗扇叶 浏览:937
铝电镀环保除垢剂 浏览:471
蒸馏和蒸发结晶的区别 浏览:71
空气滤芯是怎么做出来的 浏览:535
凯迪拉克净化器怎么样 浏览:93
烧烤净化器老响怎么办 浏览:228
污水除臭 浏览:2
60小挖机尾气净化器怎么 浏览:295
饮水机没水出来是什么原因 浏览:608
通州回燕郊用隔离吗 浏览:360