PHP头条
热点:

php 过滤html标签多种方法


本文章收藏了多种关于php教程 过滤html标签方法的方法,有利用php自带函数过滤html标签也有使用用户自定义函数加正则表达式来过滤htm标签,好了下面我们先看二款最简单的方法吧。

方法一
<?php

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


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

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

说明 :

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

 

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

过滤方法二

function delhtml($str){   //清除html标签
$st=-1; //开始
$et=-1; //结束
$stmp=array();
$stmp[]="&nbsp;";
$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

www.phpzy.comtrue/php/5147.htmlTechArticlephp 过滤html标签多种方法 本文章收藏了多种关于 php教程 过滤html标签方法 的方法,有利用php自带函数过滤html标签也有使用用户自定义函数加正则表达式来过滤htm标签,好了下面我们先...

相关文章

    暂无相关文章
相关频道:

PHP之友评论

今天推荐