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 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
队列在编程中的实际应用(php)
Sep 04 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
ThinkPHP模板判断输出Defined标签用法详解
Jun 30 PHP
PHP使用glob函数遍历目录或文件夹的方法
Dec 16 PHP
php里array_work用法实例分析
Jul 13 PHP
PHP的自定义模板引擎
Mar 24 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP信号处理机制的操作代码讲解
Apr 19 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
php使用gearman进行任务分发操作实例详解
Feb 26 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生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
javascript之水平横向滚动歌词同步的应用
2007/05/07 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
javascript实例--教你实现扑克牌洗牌功能
2014/05/15 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
jQuery焦点图切换特效代码分享
2015/09/15 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
Ajax基础知识详解
2017/02/17 Javascript
nodeJS服务器的创建和重新启动的实现方法
2018/05/12 NodeJs
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
利用angular自动编译andriod APK的绕坑经历分享
2019/03/08 Javascript
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
[02:17]TI4西雅图DOTA2前线报道 啸天mik夫妻档解说
2014/07/08 DOTA
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
Python基础学习之常见的内建函数整理
2017/09/06 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
用Python制作mini翻译器的实现示例
2020/08/17 Python
Python调用JavaScript代码的方法
2020/10/27 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
捷克时尚网上商店:OTTO
2018/03/15 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
股份转让协议书
2014/04/12 职场文书
详细总结Python常见的安全问题
2021/05/21 Python