来自 计算机网络 2019-09-25 13:38 的文章
当前位置: 六合联盟网 > 计算机网络 > 正文

过滤全数html标签,过滤html标签多样格局

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

方法一
<?php

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

 代码如下

name: "string"
id-number: 513
可能的选项或标志:

echo strip_tags("hello <b>world!</b>");

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 - 把 & 字符编码为 &

strip_tags --- 去除字串中的html和php标签

*/

语法 : string strip_tags (string str [, string allowable_tags])

$var="<b>bill gates<b>";

说明 :

var_dump(filter_var($var, filter_sanitize_string));

此函式试着从给予的字串中去除所有html和php标签,如果是不完整或是假的标签时则会有错误,它和fgetss( )使用相同的方法去除标签。

/*
第二个函数strip_tags
strip_tags() 函数剥去 html、xml 以及 php教程 的标签。

 

语法
strip_tags(string,allow)
*/

 代码如下

echo strip_tags("hello <b>world!</b>");

$reg = '/(</?p>|<brs*/?>)|<.+?>/i';
    echo preg_replace($reg,'$1',$str);
?>

//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;
}

function delhtml($str){   //清除html标签
$st=-1; //开始
$et=-1; //结束
$stmp=array();
$stmp[]=" ";
$len=strlen($str);
for($i=0;$i<$len;$i++){
   $ss=substr($str,$i,1);
   if(ord($ss)==60){ //ord("<")==60
    $st=$i;
   }
   if(ord($ss)==62){ //ord(">")==62
    $et=$i;
    if($st!=-1){
     $stmp[]=substr($str,$st,$et-$st+1);
    }
   }
}
$str=str_replace($stmp,"",$str);
return $str;
}

更多详细内容请查看:
?>

过滤方法三

 代码如下

function clear_html_label($html)
{
$search = array ("'<script[^>]*?>.*?</script>'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($search, $replace, $html);
}

//实例应用

$string ='aaa<br /> <script>fdsafsa';
echo clear_html_label($string);//aaa fdsafsa

本文由六合联盟网发布于计算机网络,转载请注明出处:过滤全数html标签,过滤html标签多样格局

关键词: