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+MYSQL的文章管理系统(一)
Oct 09 PHP
PHP 5.0对象模型深度探索之对象复制
Mar 27 PHP
不要轻信 PHP_SELF的安全问题
Sep 05 PHP
探讨:php中在foreach中使用foreach ($arr as &amp;$value) 这种类型的解释
Jun 24 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
php对数组内元素进行随机调换的方法
May 12 PHP
使用phpQuery获取数组的实例
Mar 13 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
Jul 27 PHP
PHP去除空数组且数组键名重置的讲解
Feb 28 PHP
php数组和链表的区别总结
Sep 20 PHP
Laravel数据库读写分离配置的方法
Oct 13 PHP
php中array_fill函数的实例用法
Mar 02 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 事件机制(2)
2011/03/23 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
PHP实现QQ登录的开原理和实现过程
2018/02/04 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
Google韩国首页图标动画效果
2007/08/26 Javascript
IE不出现Flash激活框的小发现的js实现方法
2007/09/07 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
编写高质量JavaScript代码的基本要点
2016/03/02 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
2016/09/21 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
VUE实现强制渲染,强制更新
2019/10/29 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
Python可变参数用法实例分析
2017/04/02 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python3实现mysql导出excel的方法
2019/07/31 Python
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
AMAVII眼镜官网:时尚和设计师太阳镜
2019/05/05 全球购物
新领导上任欢迎词
2014/01/13 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
小学生考试获奖感言
2014/01/30 职场文书
大型晚会策划方案
2014/02/06 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
写给老师的感谢信
2015/01/20 职场文书
结婚喜宴祝酒词
2015/08/10 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js