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脚本数据库功能详解(中)
Oct 09 PHP
PHP5新特性: 更加面向对象化的PHP
Nov 18 PHP
PHP5+UTF8多文件上传类
Oct 17 PHP
php 取得瑞年与平年的天数的代码
Aug 10 PHP
PHP面向对象分析设计的61条军规小结
Jul 17 PHP
PHP依赖倒置(Dependency Injection)代码实例
Oct 11 PHP
非常实用的php验证码类
May 15 PHP
PHP关键特性之命名空间实例详解
May 06 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
yii2.0整合阿里云oss的示例代码
Sep 19 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 PHP
通过实例解析PHP数据类型转换方法
Jul 11 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二维/三维数组转字符串
2013/09/13 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
php单一接口的实现方法
2015/06/20 PHP
php邮件发送的两种方式
2020/04/28 PHP
checkbox 复选框不能为空
2009/07/11 Javascript
JavaScript调用Activex控件的事件的实现方法
2010/04/11 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
jquery 页眉单行信息滚动显示实现思路及代码
2014/06/26 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
angular-tree-component的使用详解
2018/07/30 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
vue常用高阶函数及综合实例
2021/02/25 Vue.js
Python中pygame安装方法图文详解
2015/11/11 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
python实现PDF中表格转化为Excel的方法
2020/06/16 Python
Python如何实现大型数组运算(使用NumPy)
2020/07/24 Python
python实现马丁策略的实例详解
2021/01/15 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
大专生找工作自荐书
2014/06/10 职场文书
2015年党员自评材料
2014/12/17 职场文书
pycharm2021激活码使用教程(永久激活亲测可用)
2021/03/30 Python
Python实现位图分割的效果
2021/11/20 Python
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏