PHP strip_tags保留多个HTML标签的方法
本文介绍了PHP strip_tags函数保留多个HTML标签的方法,可以使用第二个参数来设置不需要删除的标签,主要涉及到strip_tags的第二个参数
strip_tags 函数
语法
string strip_tags ( string str [, string allowable_tags] )
返回一个去除了HTML标签的字符串;可以使用第二个参数来设置不需要删除的标签。
使用方法:
前提:假如现在有这样一个字符串,
$str = "<p>我来自<b><a href='http://www.jb51.net'>我们</a></b></p>";
1,不保留任何HTML标签,代码会是这样:
echo strip_tags($str);
// 输出:我来自我们
2,只保留<a>一个标签的话,只需要将<a>字符串写到strip_tags的第二个参数中:
echo strip_tags($str, "<a>");
// 输出:我来自<a href='http://www.jb51.net'>我们</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 strip_tags() 去字符串中的 HTML、XML 以及 PHP 标签的函数
strip_tags定义和用法 strip_tags() 函数剥去字符串中的 HTML.XML 以及 PHP 的标签. 注释:该函数始终会剥离 HTML 注释.这点无法通过 allow 参数改变. 注释:该函数是二进制安全的. 语法 strip_tags(string,allow) 参数 描述 string 必需.规定要检查的字符串. allow 可选.规定允许的标签.这些标签不会被删除. 技术细节 返回值: 返回被剥离的字符串. PHP 版本: 4+ 更新日志: 自 PHP 5.0 起,该函数
-
php 去除html标记--strip_tags与htmlspecialchars的区别详解
strip_tags 去掉 HTML 及 PHP 的标记. 语法: string strip_tags(string str); 传回值: 字串 函式种类: 资料处理 内容说明 本函式可去掉字串中包含的任何 HTML 及 PHP 的标记字串.若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误.而本函式和 fgetss() 有着相同的功能. htmlspecialchars 将特殊字元转成 HTML 格式. 语法: string htmlspecialchars(
-
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
语法:strip_tags(string,allow);string必需,规定要检查的字符串.allow可选,规定允许的标签,这些标签不会被删除.注释:该函数始终会剥离HTML注释,这点无法通过allow参数改变. 实例:<?php $str = "Hello <b><i>world</i></b>!"; echo strip_tags($str); echo '<br />'; echo str
-
php使用strip_tags()去除html标签仍有空白的解决方法
本文实例讲述了php使用strip_tags()去除html标签仍有空白的解决方法.分享给大家供大家参考,具体如下: $subject = strip_tags($newsRs['content']);//去除html标签 $pattern = '/\s/';//去除空白 $content = preg_replace($pattern, '', $subject); $seodata['articledescription'] = mb_substr($content, 0, 80);//截取
-
PHP关于htmlspecialchars、strip_tags、addslashes的解释
PHP的htmlspecialchars.strip_tags.addslashes是网页程序开发中常见的函数,今天就来详细讲述这些函数的用法: 1.函数strip_tags:去掉 HTML 及 PHP 的标记 注意:本函数可去掉字串中包含的任何 HTML 及 PHP 的标记字串.若是字串的 HTML 及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误.而本函数和 fgetss() 有着相同的功能.fgetss是从文件中读取文件,并去掉html和php标记. 2.函数htmlspec
-
PHP函数strip_tags的一个bug浅析
PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符.HTML 和 PHP 标记后的结果. 由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除. 比如下述代码: 复制代码 代码如下: <div>string</div>string<string<b>hello</b><div>string</div>
-
详解PHP函数 strip_tags 处理字符串缺陷bug
详解PHP函数 strip_tags 处理字符串缺陷bug PHP 函数 strip_tags() 是一个常用函数,该函数可以剥去字符串中的 HTML.XML 以及 PHP 的标签.极大方便了对字符串的操作,但是 strip_tags() 函数存在缺陷bug,由于 strip_tags() 无法验证 HTML 不完整或者破损标签将导致更多的数据被删除. 例子: $str = '<div>string</div>string<string<b>hello</b
-
PHP strip_tags保留多个HTML标签的方法
本文介绍了PHP strip_tags函数保留多个HTML标签的方法,可以使用第二个参数来设置不需要删除的标签,主要涉及到strip_tags的第二个参数 strip_tags 函数 语法 string strip_tags ( string str [, string allowable_tags] ) 返回一个去除了HTML标签的字符串:可以使用第二个参数来设置不需要删除的标签. 使用方法: 前提:假如现在有这样一个字符串, 复制代码 代码如下: $str = "<p>我来自&l
-
C#实现过滤html标签并保留a标签的方法
本文实例展示C#实现过滤html标签,汉字间空格,制表符,并保留a标签的方法.分享给大家供大家参考之用.具体方法如下: 可以在公共类如Common中定义如下方法: public static string ClearHtmlExceptA(string html) { string acceptable = "a"; string stringPattern = @"</?(?(?=" + acceptable + @")notag|[a-zA-Z0
-
C#正则过滤HTML标签并保留指定标签的方法
本文实例讲述了C#正则过滤HTML标签并保留指定标签的方法.分享给大家供大家参考,具体如下: 这边主要看到一个过滤的功能: public static string FilterHtmlTag(string s) { //<...>标记正则表达式 return Regex.Replace(s, @"<[^>]*>", delegate(Match match) { string v = match.ToString(); //图片,<p>,&l
-
PHP清除字符串中所有无用标签的方法
本文实例讲述了PHP清除字符串中所有无用标签的方法.分享给大家供大家参考.具体实现方法如下: 很多时候需要输出一些 "纯" 字符串,也就是去除任何杂质,例如 Html 标签.空格之类的文本,输出的摘要就是如此,下面的这个函数可以帮你实现着一点. PHP实例代码如下: 复制代码 代码如下: function Bing_string_cleanr( $string ){ $string = trim( $string ); $string = strip_tags( $string
-
php截取html字符串及自动补全html标签的方法
本文实例讲述了php截取html字符串及自动补全html标签的方法.分享给大家供大家参考.具体分析如下: 这里总结一下关于利用php截取html字符串自动补全html标签,实际开发中会经常碰到,很多人直接先strip_tags过滤掉html标签,但是就只剩下纯文本了,可读性非常差,下面是一个函数,代码如下: 复制代码 代码如下: /** * 截取HTML,并自动补全闭合 * @param $html * @param $length * @param $end */ function
-
php实现过滤表单提交中html标签的方法
本文实例讲述了php实现过滤表单提交中html标签的方法.分享给大家供大家参考.具体实现方法如下: 有时候我们做的简单评论功能会发现有提交很多的html标签,这些标签会导致页面有一些外连的情况,下面我们一起来看在php中过滤表单提交的html标签方法. 近评论中有一些机器人提交的post链接,都是一些垃圾评论.为了减少这种无谓的链接内容出现,其实是可以用php来删除表单POST提交的html标签,这样机器提交的信息也不会得到他们要的结果.而且可以减少来自seo/seo.html" target=
-
javascript动态添加删除tabs标签的方法
本文实例讲述了javascript动态添加删除tabs标签的方法.分享给大家供大家参考.具体实现方法如下: <html> <HEAD> <TITLE>网页对话</TITLE> <LINK href="style.css" type=text/css rel=stylesheet> <script> function $(obj) { var o = typeof(obj)=="object" ?
-
php正则删除img标签的方法示例 原创
本文实例讲述了php正则删除img标签的方法.分享给大家供大家参考,具体如下: 一.问题 正则抓取过程中需要删除正文中的img标签,如: <div>欢迎访问我们<img src="http://www.jb51.net/images/logo.gif" /></div> 要求删除后变成: <div>欢迎访问我们</div> 二.解决方法: $str='<div>欢迎访问我们<img src="htt
-
ThinkPHP添加更新标签的方法
本文实例讲述了ThinkPHP添加更新标签的方法.分享给大家供大家参考.具体分析如下: 我们知道,thinkphp的拓展案例blog,只告诉我们怎样去添加标签tag,却没有删除和更新标签的方法,我在前面的<彻底删除thinkphp3.1案例blog标签的方法>为拓展案例blog写了一个删除标签的方法,接下来将写一个标签的更新方法. 一般情况下,我们写博客后,很少去改动标签了,但是如果我们改动标签如,删除,添加,减少标签怎么办呢?这无疑造成think_tag和think_tagged两个表垃圾信
-
正则表达式处理图片地址、img标签的方法
再上传表情或者图片地址时候很多时候不能直接上传<img src=" " />,因此在上传评论或者图片之前应该先处理一下img标签.举例如下,希望可以帮助更多的程序猿~ <span style="font-size:14px;">//第一步是获取到带有img标签的字符串 var str = '图片1<img src="arclist/sanai.png">图片2<img src="arclist/
随机推荐
- js学习之----深入理解闭包
- Javabean简介_动力节点Java学院整理
- 详解Java中StringBuffer类常用方法
- 基于Dapper实现分页效果 支持筛选、排序、结果集总数等
- php实现mysql数据库操作类分享
- c#生成站点地图(SiteMapPath)文件示例程序
- node学习记录之搭建web服务器教程
- C语言实现返回字符串函数的四种方法
- NodeJs在Linux下使用的各种问题解决
- java poi读取excel操作示例(2个代码)
- 用php守护另一个php进程的例子
- img的onload的另类用法
- 关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
- 注册表简易优化法 大大提高ADSL工作效率
- java实现小型局域网群聊功能(C/S模式)
- C语言数据结构之使用链表模拟栈的实例
- 基于WTL中使用双缓冲避免闪烁的解决方法
- PHP:风雨欲来 路在何方?
- Android自定义View实现字母导航栏
- Android Studio中配置OpenCV库开发环境的教程