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调用Oracle存储过程
Oct 09 PHP
两级联动select刷新后其值保持不变的实现方法
Jan 27 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
php单例模式示例分享
Feb 12 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
laravel 5异常错误:FatalErrorException in Handler.php line 38的解决
Oct 12 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
Jun 19 PHP
PHP操作路由器实现方法示例
Apr 27 PHP
php用wangeditor3实现图片上传功能
Aug 22 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 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+ajax实现文章自动保存的方法
2014/12/30 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
使用p5.js临摹动态图片
2019/11/04 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[42:50]NB vs VP 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python原始套接字编程示例分享
2014/02/21 Python
用Python展示动态规则法用以解决重叠子问题的示例
2015/04/02 Python
python爬虫_微信公众号推送信息爬取的实例
2017/10/23 Python
Python PyQt4实现QQ抽屉效果
2018/04/20 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python队列Queue的详解
2019/05/10 Python
Mac安装python3的方法步骤
2019/08/09 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
Python 实现向word(docx)中输出
2020/02/13 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
python实现登录与注册系统
2020/11/30 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
优秀班集体获奖感言
2014/02/03 职场文书
工厂总经理岗位职责
2014/02/07 职场文书
《雨点》教学反思
2014/02/12 职场文书
自我鉴定总结
2014/03/24 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
雷锋的观后感
2015/06/10 职场文书
八月迷情观后感
2015/06/11 职场文书
用Python创建简易网站图文教程
2021/06/11 Python