正则给富文本标签img添加额外属性的方法
在用正则给富文本img添加style属性的时候,修改了图片的尺寸。但是有些图片还是很大,没有反应,查看发现img标签本身没有style属性,因此处理图片分下面两种情况,
分为两种情况,
#1 富文本标签本身有style属性
#2 富文本标签本身没有style属性
思路是匹配所有的这一标签,将style加上,然后给属性赋值,(不管有没有style属性,直接这样处理,一劳永逸)
//正则处理富文本函数
img_del(htmlstr){
//正则匹配所有img标签
//var regex0 = new RegExp("(i?)(\<img)([^\>]+\>)","gmi");
//正则匹配不含style="" 或 style='' 的img标签
var regex1 = new RegExp("(i?)(\<img)(?!(.*?style=['\"](.*)['\"])[^\>]+\>)","gmi");
//给不含style="" 或 style='' 的img标签加上style=""
htmlstr = htmlstr.replace(regex1, "$2 style=\"\"$3");
//正则匹配含有style的img标签
var regex2 = new RegExp("(i?)(\<img.*?style=['\"])([^\>]+\>)","gmi");
// 加上需要的图片样式等等
htmlstr = htmlstr.replace(regex2, "$2display:block;width:500px;height:auto;$3");
return htmlstr;
},
将富文本内容数据作为参数传入函数即可实现功能要求