javascript 正则表达式 全部替换<***> 为“”

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:00:21
<li><a href025616163715.shtml TARGET=_blank>职称不再要求</a><FONT style="FONT-SIZE:12px"> (8月24日)</FONT>
<li><a href=025616163704.shtml TARGET=_blank>火公园今日将提前限客</a><FONT style="FONT-SIZE:12px"> (8月24日)</FONT>

说明: 我想用正则表达试来替换上面的成

职称不再要求(8月24日)
火公园今日将提前限客都市(8月24日)

说白了。就是想去掉HTML格式

还有。如果我要用正则表达式来替换
?????<FONT style="FONT-SIZE:12px">****</FONT>??????
注*号为可变为任意字符串

我要把“<FONT style="FONT-SIZE:12px">****</FONT>"这个替换了呢?怎么做?

问题总结:
1 清除全文的Html格式控制,只保留文本
2 清除全文有规则变化的指定字符串 如"<font ??>???</font>". 把它替换成空
XMUmeyu

第二点也是要清除Html 代码中的 <script>xxxx</scritp>的内容
还有就是想去掉有的不想要的比如上面的
<li><a href025616163715.shtml TARGET=_blank>职称不再要求</a><FONT style="FONT-SIZE:12px"> (8月24日)</FONT> <

因为js不支持类似 /<(?!(a|img))[^>]*(?<!(a|img))>/ 的零宽度正回顾后发断言的正则方式,这题用正则就比较麻烦了

假如需要保留的部分不会被其他标签包含,可以这样:

str.replace(/<font .*?<\/font>/ig,"").
replace(/<script .*?<\/script>/ig,"").
replace(/<(a|img)/ig, "@@@$1").
replace(/<[^>a]*>/ig, "").
replace(/@@@(a|img)/ig, "<$1");

简单测试通过....不知道实用性如何,没有考虑复杂情况

-----------------------
以下是原回答:

1.清除HTML格式:

假设原字符串是用\r\n分行,获取的结果以<br />分行,HTML字符串符合XHTML标准

则有: str.replace(/<[^>]*>/g, "").replace(/\r\n/g, "<br />");

试运行:
<script language="javascript" type="text/javascript">
var str = "<li><a href025616163715.shtml TARGET=_blank>职称不再要求</a><FONT style=\"FONT-SIZE:12px\"> (8月24日)</FONT>\