php去除字符串中的HTML标签方法总结

原创
2016-06-08 17:21:02 1080浏览
php去除字符串中的HTML标签方法有很多的今天在做一个采集小功能时发现了有N种方法,下面我为各位整理一下有原创的也有整理的,希望对大家有帮助。

先来看自己的写法

代码如下 复制代码

str_replace("

",'',str_replace('
','',str_replace('','',$vv)))

这个最简单就是替换$vv变量中指定的两个div了,后来发现有一个办法

代码如下 复制代码

$info = strip_tags($vv);

发现替换了所有html标签了,一面来看看strip_tags函数

trip_tags(string,allow):函数剥去 HTML、XML 以及 PHP 的标签。

代码如下 复制代码

$str = '郭碗瓢盆-PHP';
$str1 = strip_tags($str); // 删除所有HTML标签
$str2 = strip_tags($str,''); // 保留 标签
echo $str1; // 输出 郭碗瓢盆-PHP
echo $str2; // 样式不一样喔


由上面可以知道,在PHP中只能保留一些html标签,而不能指定删除一些html标签,于是我自己动手写一个放我平时的lib库文件中了。

代码如下 复制代码


/**
* 移出指定的 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 = '(.+|\s[^>]*>)|)';
}

$str = preg_replace('#|\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标签。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:PHP图像操作教程:3D图、缩放、旋转、裁剪、添加水印 下一条:php按文件生成时间排序列出目录下的所有文件

相关文章

查看更多