zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java/Js下使用正则表达式匹配嵌套Html标签

JAVAJS正则表达式HTML 使用 标签 匹配 嵌套
2023-06-13 09:14:23 时间

js正则表达式替换HTML标签以及空格( )

js代码:

functionfilter(text){
varreg=/<[^<>]+>/g;//1、全局匹配g肯定忘记写,2、<>标签中不能包含标签实现过滤HTML标签
text=text.replace(reg,"");//替换HTML标签
text=text.replace(/ /ig,"");//替换HTML空格
returntext;
};

在angularJS中使用过滤器过滤富文本数据

app.filter("qxhtml",function(){
returnfunction(text){
varreg=/<[^<>]+>/g;
text=text.replace(reg,"");
text=text.replace(/ /ig,"");
if(text.length>50){
text=text.substring(0,50)+"...";
}
returntext;
};
});

使用过滤器

<divclass="desc">
{{y.Description|qxhtml}}
</div>

下面是其他网友的补充

js如何使用正则表达式实现过滤HTML标签?(/<[^<>]+>/g)

一、总结(点击显示或隐藏总结内容)

js进阶正则表达式实现过滤HTML标签(<>标签中不能包含标签实现过滤HTML标签:/<[^<>]+>/g)

varreg=/<[^<>]+>/g

1、全局匹配g肯定不能忘记写
2、<>标签中不能包含标签实现过滤HTML标签

二、js进阶正则表达式实现过滤HTML标签

实例描述:将一段带有HTML标签的文本的HTML标签过滤掉,转化为纯文本输出

三、代码

<!DOCTYPEhtml>
<htmllang="en">
<head>
<metacharset="UTF-8">
<title>过滤HTML标签</title>
<styletype="text/css">
textarea{
width:60%;
font-size:18px;
background:rgba(100,200,50,0.3);
}
#text2{
background:rgba(200,100,50,0.3);
}
</style>
</head>
<body>
<textareaid="text1"rows="10"cols="50"></textarea><br><br>
<inputtype="button"id="btn1"value="过滤HTML标签"><br><br>
<textareaid="text2"rows="10"cols="50"></textarea>
<scripttype="text/javascript">
varbtn1=document.getElementById("btn1")
vartext1=document.getElementById("text1")
vartext2=document.getElementById("text2")
btn1.onclick=function(){
//varreg=/<.+>/g
varreg=/<[^<>]+>/g//1、全局匹配g肯定忘记写2、<>标签中不能包含标签实现过滤HTML标签
text2.value=text1.value.replace(reg,"")
}
</script>
</body>
</html>

js正则表达式去除html字符中所有的标签(img标签除外)

废话不多说,直接上代码:

description.replace(/<(?!img).*?>/g,"");

如果保留img,p标签,则为:

description.replace(/<(?!img|p|\/p).*?>/g,"");

在js中/需要用转义字符。

通用HTML标签区配正则

最近看网站日志,发现有人在博客上转了我不知道几年前写的一个匹配HTML标签的正则,刚好最近也在做一些相关的事情,顿时来了兴趣。就拿回来改改,成了下面这样,可能会有一些case遗漏,欢迎修改,已知在内嵌<script>复杂内容的处理能力较弱,不过对纯HTML来说已经够用,拿来做一些分析工具还是不错滴。

<scripttype="text/javascript">
varstr="<br/><br/><br><br><中文><div><divid=a>无忧脚本<imgsrc=\"http://bbs.51js.com/images/default/logo.gif\"width=\"191\"height="75"border=0onload=\"if(testver>0&&testver<500)alert("test");\"\nonerror="alert(\"test\")"/><imgsrc=xxxalt=\"hello\njustatest!\"></div><hr><scripttype=\"test/javascript\"defer>alert(\"justatest!\");<\/script>Hello.<inputtype=textvalue=\"无忧脚本\"><br/><img\"\"></><!--注释--><ucren><!--再<注>释--><imgalt="title="\""/><b>123</b>1<2<3,3<4>1<b><imgsrc=\"http://bbs.51js.com/images/old51js/logo.gif\"/><!--三注释>>>-->";
varreg=/<(?:(?:\/?[A-Za-z]\w*\b(?:[=\s]([""]?)[\s\S]*?\1)*)|(?:!--[\s\S]*?--))\/?>/g;
alert(str.match(reg).join("\n----------------------------------------------------\n"));
</script>

在线测试