首页 新闻 会员 周边 捐助

如何检测并过滤一段html代码中未关闭的html标签呢?

0
[已关闭问题]

想用正则表达式但是一直没有找到合适的写法。各位出出主意,先谢过啦。

ZQ的主页 ZQ | 初学一级 | 园豆:200
提问于:2008-10-15 10:04
< >
分享
其他回答(4)
0

http://validator.w3.org/

要以利用这个网站的检测功能

张荣华 | 园豆:2020 (老鸟四级) | 2008-10-15 10:33
0

可以试试用antlr或gold之类的Parser来分析。

andy.wu | 园豆:425 (菜鸟二级) | 2008-10-15 10:39
0

匹配一个HTML标签的开始标签和结束标签,以及标签中间的文本。比如This is a test,我们要匹配以及中间的文字。我们可以用如下正则表达式:“<([A-Z][A-Z0-9]*)[^>]*>.*?

首先,“<”将会匹配“”的第一个字符“<”。然后[A-Z]匹配B[A-Z0-9]*将会匹配0到多次字母数字,后面紧接着0到多个非“>”的字符。最后正则表达式的“>”将会匹配“”的“>”。接下来正则引擎将对结束标签之前的字符进行惰性匹配,直到遇到一个“”符号。然后正则表达式中的“\1”表示对前面匹配的组“([A-Z][A-Z0-9]*)”进行引用,在本例中,被引用的是标签名“B”。所以需要被匹配的结尾标签为“”

以上是否可以提供你思路

 

最后

<(.*)>.*<\/\1>   可以匹配一个   HTML   标记  

 

RicoRui | 园豆:3663 (老鸟四级) | 2008-10-15 10:45
0

不好办,比如下面这个:

<div>1<div>2</div>3

你怎么确定是1前面还是2前面哪个是未关闭的?

丁学 | 园豆:18730 (专家六级) | 2008-10-15 13:15
0

用VS2008也很容易看出来,,

编程入门 | 园豆:185 (初学一级) | 2008-10-15 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册