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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
Oct 09 PHP
建立文件交换功能的脚本(一)
Oct 09 PHP
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
discuz安全提问算法
Jun 06 PHP
关于Intype一些小问题的解决办法
Mar 28 PHP
php用户注册页面利用js进行表单验证具体实例
Oct 17 PHP
php实现字符串翻转的方法
Mar 27 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
Redis使用Eval多个键值自增的操作实例
Nov 04 PHP
CI框架表单验证实例详解
Nov 21 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
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
如何在PHP中使用Oracle数据库(1)
2006/10/09 PHP
php中文本操作的类
2007/03/17 PHP
php 魔术函数使用说明
2010/02/21 PHP
如何使用PHP实现javascript的escape和unescape函数
2013/06/29 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
namespace.js Javascript的命名空间库
2011/10/11 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
Javascript之Number对象介绍
2016/06/07 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
MUI 解决动态列表页图片懒加载再次加载不成功的bug问题
2017/04/13 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
python中lambda与def用法对比实例分析
2015/04/30 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
python读取oracle函数返回值
2016/07/18 Python
Python 模块EasyGui详细介绍
2017/02/19 Python
使用Python设计一个代码统计工具
2018/04/04 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
python xpath获取页面注释的方法
2019/01/14 Python
python动态视频下载器的实现方法
2019/09/16 Python
python使用rsa非对称加密过程解析
2019/12/28 Python
HTML5在IE10、火狐下中文乱码问题的解决方法
2013/11/18 HTML / CSS
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
公司任命书模板
2014/06/06 职场文书
五一口号
2014/06/19 职场文书
公共场所禁烟标语
2014/06/25 职场文书
会计专业自荐信范文
2015/03/05 职场文书