PHP strip_tags保留多个HTML标签的方法


Posted in PHP onMay 22, 2016

本文介绍了PHP strip_tags函数保留多个HTML标签的方法,可以使用第二个参数来设置不需要删除的标签,主要涉及到strip_tags的第二个参数

strip_tags 函数

语法
string strip_tags ( string str [, string allowable_tags] )
返回一个去除了HTML标签的字符串;可以使用第二个参数来设置不需要删除的标签。

使用方法:

前提:假如现在有这样一个字符串,

$str = "<p>我来自<b><a href='https://3water.com'>三水点靠木</a></b></p>";

1,不保留任何HTML标签,代码会是这样:

echo strip_tags($str); 

// 输出:我来自三水点靠木

2,只保留<a>一个标签的话,只需要将<a>字符串写到strip_tags的第二个参数中:
 

echo strip_tags($str, "<a>"); 

// 输出:我来自<a href='https://3water.com'>三水点靠木</a>

3,要保留<p>与<b>…多个标签,只需要将多个标签用空格分隔后写到strip_tags的第二个参数中:
 

echo strip_tags($str, "<p> <b>"); 

// 输出:<p>我来自<b>三水点靠木</b></p>

如果要使用php删除html标记中的特定标签呢?

这个就需要代码来实现了,如下:

function strip_selected_tags($text, $tags = array()) {
  $args = func_get_args();
  $text = array_shift($args);
  $tags = func_num_args() > 2 ? array_diff($args, array($text)) : (array) $tags;
  foreach($tags as $tag) {
    if (preg_match_all('/<'.$tag.
        '[^>]*>([^<]*)</'.$tag.
        '>/iu', $text, $found)) {
      $text = str_replace($found[0], $found[1], $text);
    }
  }

  return preg_replace('/(<('.join('|', $tags).
    ')( | |.)*/>)/iu', '', $text);
}

$str = "[url="] 123[/url]";
    echo strip_selected_tags($str, array('b'));
PHP 相关文章推荐
一个程序下载的管理程序(三)
Oct 09 PHP
一个php作的文本留言本的例子(五)
Oct 09 PHP
PHP 实例化类的一点摘记
Mar 23 PHP
php 删除数组元素
Jan 16 PHP
coreseek 搜索英文的问题详解
Jun 08 PHP
php 判断是否是中文/英文/数字示例代码
Sep 30 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 PHP
PHP提取字符串中的手机号正则表达式怎么写
Jul 17 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
Laravel学习教程之本地化模块
Aug 18 PHP
PHP二维数组分页2种实现方法解析
Jul 09 PHP
项目中应用Redis+Php的场景
May 22 #PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 #PHP
php文件上传后端处理小技巧
May 22 #PHP
PHP strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
May 22 #PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
May 21 #PHP
制作个性化的WordPress登陆界面的实例教程
May 21 #PHP
详解WordPress中添加友情链接的方法
May 21 #PHP
You might like
两个开源的Php输出Excel文件类
2010/02/08 PHP
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
2014/09/29 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
thinkPHP线上自动加载异常与修复方法实例分析
2016/12/01 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
jQuery 学习6 操纵元素显示效果的函数
2010/02/07 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
JavaScript函数详解
2014/11/17 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
2016/04/06 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
2017/04/20 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
基于JavaScript实现大文件上传后端代码实例
2020/08/18 Javascript
Python转码问题的解决方法
2008/10/07 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
python中类的属性和方法介绍
2018/11/27 Python
python科学计算之scipy——optimize用法
2019/11/25 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
CSS类名支持中文命名的示例
2014/04/04 HTML / CSS
英语自荐信范文
2013/12/11 职场文书
生物科学专业自荐书
2014/06/20 职场文书
学校党支部承诺书
2015/04/30 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
nginx请求限制配置方法
2021/07/09 Servers