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用户指南-cookies部分
Oct 09 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
PHP高自定义性安全验证码代码
Nov 27 PHP
php实现邮件发送并带有附件
Jan 24 PHP
Laravel框架学习笔记(二)项目实战之模型(Models)
Oct 15 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP汉字转换拼音的函数代码
Dec 30 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
PHP 观察者模式深入理解与应用分析
Sep 25 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 取得瑞年与平年的天数的代码
2009/08/10 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
JS使用oumousemove和oumouseout动态改变图片显示的方法
2015/03/31 Javascript
深入理解JavaScript中的箭头函数
2015/07/28 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
微信小程序module.exports模块化操作实例浅析
2018/12/20 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
详解python中各种文件打开模式
2020/01/19 Python
django 获取字段最大值,最新的记录操作
2020/08/09 Python
如何真正的了解python装饰器
2020/08/14 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
Wiggle新西兰:自行车、跑步、游泳
2020/05/06 全球购物
写求职信有哪些注意事项
2014/05/08 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
工程项目合作意向书
2015/05/08 职场文书
刑事辩护词范文
2015/05/21 职场文书
初中生活随笔
2015/08/15 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js