正则表达式,关於过滤HTML的问题

来源:百度知道 编辑:UC知道 时间:2024/07/07 06:04:43
我要过滤掉所有的HTML标签,但不能过滤掉<br>标签,这个正则表达式应该如何写啊,如果写正确的话,髙分感谢!

最简单的方法,先把所有的<BR>替换为({BR}),然后替换所有的HTML标签(正则/<.+?>/),然后把<BR>换回来

html=html.replace(/<(?!br\b)[\w\/]+?>/gi,"");

以下是测试代码~

<textarea cols=50 rows=10 id="tt"></textarea>
<script language="javascript">
var html="<html> <head> <title> </title> </head> <body><orm></orm><br><br/><brank></brank>";
html=html.replace(/<(?!br\b)[\w\/]+?>/gi,"");
document.getElementById("tt").value=html;
</script>

试试这个 <(?!br)[^>]+>
区分大小写 <BR> 也会被过滤掉

如果是在 JavaScript 中 不区分大小可以这样写
/<(?!br)[^>]+>/i

加个 i