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 相关文章推荐
PHP 文件上传源码分析(RFC1867)
Oct 30 PHP
批量去除PHP文件中bom的PHP代码
Mar 13 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
PHP链接MySQL的常用扩展函数
Oct 23 PHP
PHP解析目录路径的3个函数总结
Nov 18 PHP
PHP 前加at符合@的作用解析
Jul 31 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
PHP登录(ajax提交数据和后台校验)实例分享
Dec 29 PHP
Symfony查询方法实例小结
Jun 28 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 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
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
将数组写入txt文件 var_export
2009/04/21 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
PHP封装的简单连接MongoDB类示例
2019/02/13 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
2019/10/12 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
laravel开发环境homestead搭建过程详解
2020/07/03 PHP
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
JS获得QQ号码的昵称,头像,生日的简单实例
2013/12/04 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
Angular.js中$apply()和$digest()的深入理解
2016/10/13 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
[01:22:42]2014 DOTA2华西杯精英邀请赛 5 24 DK VS LGD
2014/05/26 DOTA
Python装饰器模式定义与用法分析
2018/08/06 Python
深入解析神经网络从原理到实现
2019/07/26 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
美国打印机墨水和碳粉购物网站:QuikShip Toner
2018/08/29 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
办公室文员工作自我评价
2013/12/01 职场文书
毕业生的自我评价分享
2013/12/18 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
幼儿园招生广告
2014/03/19 职场文书
投资协议书范本
2014/04/21 职场文书
社会调查研究计划书
2014/05/01 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
pandas求平均数和中位数的方法实例
2021/08/04 Python