js 正则表达式去除指定的HTML标签

var content = “<img sf>hsofho<bnaf>sfs<a> jlhaff<p/af?>”;

re = new RegExp("<(?!img|br|p|/p).*?>", "g"); // 创建正则表达式对象。
r = content.match(re); // 在字符串 s 中查找匹配。
var a = content.replace(/<[^>]+>/g, ""); //去掉所有的html标记
alert(a)
--------------------------------------
我想把除了img,br,p之外的HTML标签都去掉
为何我直接把var a = content.replace(/<[^>]+>/g, "");这一句里面的/<[^>]+>/g替换成"<(?!img|br|p|/p).*?>"会出现语法错误?

第1个回答  2013-07-10

可以这么写:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "

<html xmlns="

<head>
<title>匹配正则表达式</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript">
    function t1() {
        var cont = document.getElementById('cont');
        var cv = cont.value;
        
        var reg = /<a[\s]+[^>]+>([^<>]+)<\/a>/gi;  // 正则表达式
 
        alert(cv.replace(reg,''));
    }
</script>

<style type="text/css">
textarea {
    width:400px;
    height:200px;
}
</style>
</head>
   <body>
      <p>
        <textarea id="cont"></textarea>
      </p>
      <p><input type="button" value="把链接换成空链接" onclick="t1();" /></p>
   </body>
</html>

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网