首页 > php开发 > php 过滤所有html标签

php 过滤所有html标签

首先我们推荐filter_sanitize_string ,filter_sanitize_string 过滤器去除或编码不需要的字符.

这个过滤器删除那些对应用程序有潜在危害的数据,它用于去除标签以及删除或编码不需要的字符.

name:"string" 

id-number:513 

可能的选项或标志:

filter_flag_no_encode_quotes - 该标志不编码引号 

filter_flag_strip_low - 去除 ascii 值在 32 以下的字符 

filter_flag_strip_high - 去除 ascii 值在 32 以上的字符

filter_flag_encode_low - 编码 ascii 值在 32 以下的字符

filter_flag_encode_high - 编码 ascii 值在 32 以上的字符

filter_flag_encode_amp - 把 & 字符编码为 &

$var="<b>bill gates<b>";var_dump(filter_var($var, filter_sanitize_string));

第二个函数strip_tags,strip_tags() 函数剥去 html、xml 以及 php的标签.

语法:strip_tags(string,allow)

echo strip_tags("hello <b>world!</b>"); 
 
//hello world! 
 
function uh($str)  
{  
	$farr = array(  
		"/s+/", //过滤多余的空白  
		"/<(/?)(script|i?frame|style|html|body|title|link|meta|?|%)([^>]*?)>/isu", 
  //过滤 <script 等可能引入恶意内容或恶意改变显示布局的代码,如果不需要插入flash等,还可 
以加入<object的过滤  
		"/(<[^>]*)on[a-za-z]+s*=([^>]*>)/isu",                                       
//过滤网页的on事件  

   );  
   $tarr = array(  
		" ",  
		"<123>", //如果要直接清除不安全的标签,这里可以留空  
		"12",  
   ); 
 
  $str = preg_replace( $farr,$tarr,$str);  
   return $str;  
}

               
               

教程地址:http://www.phprm.com/develop/fs4722.html

欢迎转载!但请带上文章地址^^

标签:php过滤所有html标签

发表留言