Java/Js下使用正则表达式匹配嵌套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>
在线测试
相关文章
- java数组反转,Java数组反转
- java calendar 设置小时_Java Calendar.set 方法设置时间的问题
- java.lang.Math中的基本方法
- 中级java笔试题_Java中级面试题合集[通俗易懂]
- java启动器_JAVA基础:Java 启动器如何查找类
- Java多线程wait()和notify()方法图解
- java验证手机号正则表达式_Java使用正则表达式验证手机号和电话号码的方法「建议收藏」
- JAVA string转map_java怎么转业务
- Java应用之性能测试瓶颈调优
- java date当前时间_JAVA中获取当前系统时间
- java 舆情分析_基于Java实现网络舆情分析系统研究与实现.doc[通俗易懂]
- java反射 getMethod_JAVA 反射 getMethod() 和 invoke() 具体应用[通俗易懂]
- java多态
- clipboard.js:最轻便的复制页面内容到剪切板的JS
- java使用Xfire调用webservice接口详解架构师
- 用java实现数据库的增删改查详解编程语言
- java之基础日期工具类Date类详解编程语言
- JAVA线程池任务数大小设置详解编程语言
- Java轻松使用Redis实现数据高效存储(java使用redis)
- 使用redis Java管理过期对象(redisjava过期)
- Java与Linux:前景迷人的新科技(java和linux前景)
- 基于Linux操作系统上实现 Java 编程(linux r java)
- 数据Java操作MySQL库:获取你所需的数据(java获取mysql)
- Java编程实现MySQL数据库连接(java连mysql数据库)
- Linux测试搭配Java快速实现稳定性验证(linux测试java)