<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> <li><a href=025616163704.shtml TARGET=_blank>火公园今日将提前限客</a><FONT style="FONT-SIZE:12px"> (8月24日)</FONT> 我想把上面(8月24日) 这外清除了! 因为它是变化的。不能用死字符串来替换只好用正则表达式。主要想完成功能清除不要的内容清除HTML标记。达到只要光文本 但是图片要留下。你好。可以帮我改改。正则吗?如果要什么什么例外主要是我想留下<img scr="ss"> 还有<a href="xx"><img src="sss"></a>上面一清。什么都没得了!
因为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>\r\n" + "<li><a href=025616163704.shtml TARGET=_blank>火公园今日将提前限客</a><FONT style=\"FONT-SIZE:12px\"> (8月24日)</FONT>"; document.write(str.replace(/<[^>]*>/g, "").replace(/\r\n/g, "<br />")); </script> 2.清除font 前提,字符串符合XHTML标准(即元素闭合正常) str.replace(/<font .*?<\/font>/ig,"");