PHP移除指定HTML标签方法总结
发布:smiling 来源: PHP粉丝网 添加日期:2014-01-07 14:31:37 浏览: 评论:0
在php中我们最常用的指定HTML标签可以直接使用strip_tags函数来替换了,利用它可以过滤所有的html标签哦,下面我来给大家介绍除了此函数之外的其它办法。
有时候我们需要把html标签页存到数据库里,但是有些场合却需要拿无html标签的纯数据,这个时候就要对带html标签的数据进行处理,把html标签都去掉,平时用 htmlspecialchars() 来过滤html,但是把html的字符转义了,最后显示出来的就是html源代码,利用strip_tags()就可以把html标签去除掉.
PHP默认的函数有移除指定html标签,名称为strip_tags,在某些场合非常有用。
strip_tags
strip_tags — Strip HTML and PHP tags from a string
string strip_tags ( string str [, string allowable_tags] )
弊端:这个函数只能保留想要的html标签,就是参数string allowable_tags,这个函数的参数allowable_tags的其他的用法,代码如下:
strip_tags($source,”); 去掉所以的html标签。
strip_tags($source,‘<div><img><em>’); 保留字符串中的div、img、em标签。
如果想去掉的html的指定标签,那么这个函数就不能满足需求了,于是乎我用到了这个函数,代码如下:
- function strip_only_tags($str, $tags, $stripContent = FALSE) {
- $content = '';
- if (!is_array($tags)) {
- $tags = (strpos($str, '>') !== false ? explode('>', str_replace('<', '', $tags)) : array($tags));
- if (end($tags) == '') {
- array_pop($tags);
- }
- }
- foreach($tags as $tag) {
- if ($stripContent) {
- $content = '(.+<!--'.$tag.'(-->|s[^>]*>)|)';
- }
- $str = preg_replace('#<!--?'.$tag.'(-->|s[^>]*>)'.$content.'#is', '', $str);
- }
- return $str;
- }
参数说明
$str — 是指需要过滤的一段字符串,比如div、p、em、img等html标签。
$tags — 是指想要移除指定的html标签,比如a、img、p等。
$stripContent = FALSE — 移除标签内的内容,比如将整个链接删除等,默认为False,即不删除标签内的内容。
使用说明,代码如下:
- $target = strip_only_tags($source, array(‘a’,'em’,'b’));移除$source字符串内的a、em、b标签。
- $source='<div><a href="" target="_blank"><img src="logo.png" border="0" alt="Welcome to linzl." />This a example from<em>lixiphp</em></a><strong>!</strong></div>
- ';
- $target = strip_only_tags($source, array('a','em'));
- //target results
- //<div><img src="/logo.png" border="0" alt="Welcome to lixiphp." />This a example from<strong>!</strong></div>
其它办法,代码如下:
- <?php
- //取出br标记
- function strip($str)
- {
- $str=str_replace("<br>","",$str);
- //$str=htmlspecialchars($str);
- return strip_tags($str);
- }
- ?>
一个自定义的函数,代码如下:
- **
- * 取出html标签
- *
- * @access public
- * @param string str
- * @return string
- *
- */
- function deletehtml($str) {
- $str = trim($str); //清除字符串两边的空格
- $str = strip_tags($str,"<p>"); //利用php自带的函数清除html格式。保留P标签
- $str = preg_replace("/t/","",$str); //使用正则表达式匹配需要替换的内容,如:空格,换行,并将替换为空。
- $str = preg_replace("/rn/","",$str);
- $str = preg_replace("/r/","",$str);
- $str = preg_replace("/n/","",$str);
- $str = preg_replace("/ /","",$str);
- $str = preg_replace("/ /","",$str); //匹配html中的空格
- return trim($str); //返回字符串
- }
Tags: PHP移除 指定 HTML标签
- 上一篇:PHP转换文件夹下所有文件的编码
- 下一篇:php根据生日计算年龄/生肖/星座实例
相关文章
- ·php 去掉指定的html标签及内容(2014-01-06)
- ·php 替换内容中指定字符(2014-05-27)
- ·php获取指定位置内容(2014-06-03)
- ·PHP清除指定html标签实例代码(2014-06-19)
- ·php blob 函数快速查询指定目录文件实例(2014-09-20)
- ·php指定函数参数默认值示例代码(2020-07-13)
- ·php函数指定默认值方法的小例子(2020-07-15)
- ·PHP获取指定函数定义在哪个文件中以及其所在的行号实例(2020-12-08)
- ·PHP使用strstr()函数获取指定字符串后所有字符的方法(2021-07-04)
- ·php使用scandir()函数扫描指定目录下所有文件示例(2021-11-25)
- ·php把html标签转换成合法html代码程序(2014-08-17)
- ·php清空字符串中的HTML标签(2014-08-25)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)