正则替换HTML里的style属性
2024-08-29 18:45:20
一个网友问:
<p class="a" style="font-size: 12pt; font-family: ""; color: red;">a</p>
如何替换成:
<p class="a" >a</p>
以为So easy,写个正则匹配一下就OK了,
/style="[^"]*?"/g
结果生成结果如下:
<p class="a" "; color: red;">a</p>
原来忽略了style="中间有双引号"
琢磨后,
改进了正则表达式:
var a=`<p class="a" style="font-size: 12pt; font-family: ""; color: red;">a</p>`
var reg4 = /style="[^=]*?"([(\s+\w+=)|>])/g
a.replace(reg4,'$1')
最终生成结果:
<p class="a" >a</p>
"和>之间还多了一个空格。基本上达到了要求。
原理,style后的内容非贪婪匹配,以一个=号或是>号结尾,后面那部分要用分组($1)替换回来
20190107,反馈有问题,改进:
var a=` <span style="font-family: "Times New Roman";" class="abc">`
var reg4 = /style="[^=>]*"([(\s+\w+=)|>])/g
a.replace(reg4,'$1')
var reg4 = /style="[^=>]*"([(\s+\w+=)|>])/g
a.replace(reg4,'$1')
把非贪婪匹配改为了贪婪匹配。
最新文章
- 简单实用JSTL标签库
- Node Server管理
- Office 2013 Pro Plus Vol激活
- Android控件属性大全(转)
- js&;jquery验证邮箱和手机号是否正确范例
- Linux Hugetlbfs内核源码简析-----(二)Hugetlbfs挂载
- JForum 2.19源码部署到eclipse
- CBQW ---分组表单展示
- DataTable一些操作
- DevExpress控件学习总结(转)
- Linux(Cent OS7.2)下启动停止memcached方法及ps命令使用讲解
- SystemVerilog语言简介(一)
- scrapy学习笔记之hello world
- hive数据类型
- AngularJs ng-change事件/指令(转)
- win10+vscode部署java开发环境
- C#加解密算法
- STM32串口中断
- File、Directory、Path
- DirectFB简介以及移植[一]【转】