过滤html标签多种方法,过滤html标签的函数代码
分类:多线程

复制代码 代码如下:

//最直接过滤html方法

方法一
<?php

header("Content-type:text/html;charset=utf-8");
$weibo = file_get_contents('');
$preg = '/(.*)/Uis';
preg_match_all($preg, $weibo, $string);
foreach ($string[1] as $key=>$value){
echo delhtml($value)."

 代码如下

 代码如下

";
}
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("{
$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;
}
?>

strip_tags();

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

//方法二利用正则过滤
function _filter( $string ) {
  return str_replace(array(" "," "," ",'  '),array('<br />','<br />','<br />','  '),strip_tags($string,'<br><p><img>'));
}

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

 

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

//正则二

说明 :

 代码如下

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

preg_replace('/(<br>){1,}/is','<br>', $str);

 

//正则三

 代码如下

 代码如下

$reg = '/(</?p>|<brs*/?>)|<.+?>/i';
    echo preg_replace($reg,'$1',$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;
}
//

过滤方法二

$str='<div class="newscon" id="idnewsdtail"><span id=contextid>
<p>  www.111cn.net<nr /> <br>
';
    $reg = '/(</?p>|<brs*/?>)|<.+?>/i';
    echo preg_replace($reg,'$1',$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

本文由10bet手机官网发布于多线程,转载请注明出处:过滤html标签多种方法,过滤html标签的函数代码

上一篇:函数使用详解 下一篇:没有了
猜你喜欢
热门排行
精彩图文