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 self,$this,const,static,-&amp;gt;的使用
Oct 22 PHP
深入解析php之apc
May 15 PHP
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
Jul 01 PHP
php中用memcached实现页面防刷新功能
Aug 19 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
Dec 04 PHP
php字符串过滤与替换小结
Jan 26 PHP
初识PHP中的Swoole
Apr 05 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
kindeditor 加入七牛云上传的实例讲解
Nov 12 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
Jan 22 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
实用函数3
2007/11/08 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
PHP连接sftp并下载文件的方法教程
2018/08/26 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
php回调函数处理数组操作示例
2020/04/13 PHP
PHP超全局变量实现原理及代码解析
2020/09/01 PHP
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
禁止IE用右键的JS代码
2013/12/30 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
bootstrap laydate日期组件使用详解
2017/01/04 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
express默认日志组件morgan的方法
2018/04/05 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
给Python入门者的一些编程建议
2015/06/15 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
python 同时运行多个程序的实例
2019/01/07 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
Python 分享10个PyCharm技巧
2019/07/13 Python
Python学习笔记之For循环用法详解
2019/08/14 Python
Python 私有化操作实例分析
2019/11/21 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
2014银行授权委托书样本
2014/10/04 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
公司周年庆寄语
2019/06/21 职场文书
创业计划书之牛肉汤快餐店
2019/10/08 职场文书
使用Ajax实现进度条的绘制
2022/04/07 Javascript
vue实现input输入模糊查询的三种方式
2022/08/14 Vue.js