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 相关文章推荐
基于mysql的论坛(4)
Oct 09 PHP
关于Intype一些小问题的解决办法
Mar 28 PHP
用来给图片加水印的PHP类
Apr 09 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
Feb 22 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
May 16 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
十大使用PHP框架的理由
Sep 26 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
PHP数据库表操作的封装类及用法实例详解
Jul 12 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
详解PHP5.6.30与Apache2.4.x配置
Jun 02 PHP
PHP实现打包zip并下载功能
Jun 12 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
phpmyadmin操作流程
2006/10/09 PHP
解析左右值无限分类的实现算法
2013/06/20 PHP
Yii学习总结之安装配置
2015/02/22 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
php集成动态口令认证
2016/07/21 PHP
用JS剩余字数计算的代码
2008/07/03 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
实例详解display:none与visible:hidden的区别
2017/03/30 Javascript
基于JavaScript实现验证码功能
2017/04/01 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
iscroll实现下拉刷新功能
2017/07/18 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
2017/11/02 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
详解Vue2.0组件的继承与扩展
2018/11/23 Javascript
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
Python实现包含min函数的栈
2016/04/29 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
python: 自动安装缺失库文件的方法
2018/10/22 Python
Python中安装easy_install的方法
2018/11/18 Python
Python3实现定时任务的四种方式
2019/06/03 Python
高等教育专业自荐信范文
2014/03/26 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
工程主管竞聘书
2015/09/15 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python