正则清除HTML标签但保留其中一部分标签

很多时候我们正则清除HTML标签但总希望保留其中一部分标签

用asp语言实现

str="<a href=""a.htm"">a.htm</a><div>afefe</div>feaa<b>bbb</b>
<a href=http://www.baidu.com id=""ggg"">ggg</a><abbr>测试</abbr>"
Set re=new RegExp
 re.IgnoreCase =true
 re.Global=True
 re.Pattern="(<(?!/?(a|p|b)(\s|>))[^>]*>)"
 str=re.replace(str," ")
 response.Write str 

那正则也可以用在其他语言里实现里实现

用php语言实现如下:

$str='<a href="a.htm">a.htm</a><div>afefe</div>feaa<b>bbb</b><a href=http://www.baidu.com id="ggg">ggg</a><abbr>测试</abbr>';
echo preg_replace('/(<(?!\/?(a|p|b)(\s|\>))[^>]*>)/', '', $str);
?>

当然php有更简单的实现方法:

$str='<a href="a.htm">a.htm</a><div>afefe</div>feaa<b>bbb</b><a href=http://www.baidu.com id="ggg">ggg</a><abbr>测试</abbr>';
echo strip_tags($str,'<b><a><p>');
时间: 2024-10-15 04:35:20

正则清除HTML标签但保留其中一部分标签的相关文章

将Repeater控件导入Excel表(正则清除a标签保留文本,img标签清除)

导入的表:<table width="100%" cellpadding="0" style="border-color: #89C2D6; margin-top: 5px;              <colgroup>                <col width="16%">                <col width="100">            

ASP.NET过滤HTML标签只保留换行与空格的方法

这篇文章主要介绍了ASP.NET过滤HTML标签只保留换行与空格的方法,包含网上常见的方法以及对此方法的改进,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了ASP.NET过滤HTML标签只保留换行与空格的方法.分享给大家供大家参考.具体分析如下: 自己从网上找了一个过滤HTML标签的方法,我也不知道谁的才是原创的,反正很多都一样.我把那方法复制下来,代码如下: /// <summary> /// 去除HTML标记 /// </summary> /// <para

从a标签为什么不能包含div标签-了解HTML5元素分类与内容模型

我们知道按新的 HTML 规范,已经不按 inline 和 block 来区分元素类型了.所以我们在a标签里面使用div标签时候会发现a标签并不能通过改变css盒子模型的方式将div元素包含. 元素分类 HTML5中,元素主要分为7类: Metadata Flow Sectioning Heading Phrasing Embedded Interactive 这些分类集合互相之间也存在一定的交集(一个元素可以同时属于多个分类),其交集关系呈现为: 需要注意的是,HTML5中的这种元素分类与in

Struts2中UI标签之非表单标签

1.非表单标签主要用于在页面生成一些非表单的可视化元素,例如Tab页面,输出HTML页面的树形结构等.当然,非表单标签也包含在页面显示Action里封装的信息,非表单标签主要有如下几个: a:生成一个超级连接(link). actionerror:如果Action实例的getActionError()方法返回不为null,则该标签负责输出该方法返回的系列错误. actionmessage:如果Action实例的getActionMessage()方法返回不为null,则该标签负责输出该方法返回的

在thinkphp中,写的博文标签多对多关系的标签频率统计算法

常常看到别人的博客里面,或者网站里面有这样随机颜色,但字体大小与标签出现频率有关的标签云,于是自己就想写一个.至于颜色的随机显示,那就很简单了,这里就不列代码. 因为正在学thinkphp,所以数据查找的都是用的tp数据查找语句. 1 Public function render( $data ){ 2 //在博文——标签多对多关系的中间表中查找出所有的标签 3 $tags = M('blog_tags')->select(); 4 $a = array(); 5 //去掉重复的标签,将所有不重

PhpCMS标签:专题模块special标签

专题模块 专题模块PC标签调用说明 模块名:special 模块提供的可用操作 操作名 说明 lists 专题列表 content_list 专题信息列表 hits 专题信息点击排序 下面对所有的操作分开说明 专题列表(lists): 可用参数: 参数名 是否必须 默认值 说明 siteid 否 当前站点 站点ID elite 否 null 是否推荐 isthumb 否 null 必须有缩略图 listorder 否 null 排序方式 代码例子: {pc:special action="lis

标签案例-开发防盗链标签

1 package cn.itcast.web.tag; 2 3 import java.io.IOException; 4 5 import javax.servlet.http.HttpServletRequest; 6 import javax.servlet.http.HttpServletResponse; 7 import javax.servlet.jsp.JspException; 8 import javax.servlet.jsp.PageContext; 9 import

HTML高级标签(1)————表格标签

利用上述表格属性,可以简单的创建一个表格,并任意的切割行和列. <html> <head> <title>表格的应用</title> </head> <body> <table border="1" width="400" align="center" cellspacing="0" cellpadding="0" > &l

HTML标签语义化——使用b标签,还是strong标签

HTML标签语义化,相关的内容网上有很多.大家可以去学习一下,看一下你所使用的标签是否具有其真正要表达的意义,标签你用对了吗?今天要介绍的内容是使用b标签,还是strong标签,翻译自http://www.think-ink.net/html/bold.htm. There is a difference between using what are referred to as logical tags and tags that primarily affect visual layout.