php使用strip_tags从字符串中去除html标记

strip_tags — 从字符串中去除 HTML 和 PHP 标记

说明:

1
string strip_tags ( string $str [, string $allowable_tags ] )

该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。它使用与函数 fgetss() 一样的标记去除状态机。

参数:

str 输入字符串。

allowable_tags 使用可选的第二个参数指定不被去除的字符列表。

注意:

HTML 注释和 PHP 标签也会被去除。这里是硬编码处理的,所以无法通过 allowable_tags 参数进行改变。

返回值:

返回处理后的字符串。

举例:

1
2
3
4
5
6
7
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";
// 允许 <p> 和 <a>
echo strip_tags($text, '<p><a>');
?>

以上程序输出结果:

1
2
Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

php strp_trags()去除html标签仍有空白解决办法:

1
2
3
4
$subject = strip_tags($newsRs['content']);//去除html标签
$pattern = '/\s/';//去除空白
$content = preg_replace($pattern, '', $subject);          
$seodata['articledescription'] = mb_substr($content, 0, 80);//截取80个汉字

注意:第一步中的strip_tags();只是把html标签用空格替换了,比如:

1
2
3
4
5
6
7
8
9
<p>
    www.169it.com 
</p>
<p>
<br />
</p>
<p>
    alsdkjf;laskjd;flasj;
</p>

strip_tags()处理后变为:


www.169it.com






alsdkjf;laskjd;flasj;

这可能不是我们想要的,然后用正则替换将空白去掉就行了,最后结果:

www.169it.comalsdkjf;laskjd;flasj;

另外:

\s表示空白字符,\S表示非空白字符(注意大小写,一般大小写表示相反的含义)。


阅读更多
个人分类: php
想对作者说点什么? 我来说一句

php过滤html标记属性类

2013年09月23日 2KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭