我继续这两个替换查询(由javascript调用),以处理颜色css样式将放置在style属性末尾的情况,没有分号......
replace(/\bstyle=["|'](.*)(?:color:.*?;)(.*)["|']/gi, 'style="$1$2"' )
replace(/\bstyle=["|'](.*)(?:color:.*["|'])/gi, 'style="$1"' )
合并它们会更漂亮......但是我花了好几个小时没有成功!
编辑:这是一个示例文本:
Lorem ipsum <span style="font-style:italic; color: blue; font-weight: bold;">dolor sit amet</span>, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim <span style="font-style:italic; font-weight: bold; color: blue">ad minim veniam</span>, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
答案 0 :(得分:0)
这应该这样做:
replace(/\bstyle(=["'].*)(?:color:.*?;(.*)["']|color:[^;]*?["'])/gi, 'style$1$2');
答案 1 :(得分:0)
您似乎正在尝试从样式中删除color
。
我认为,而不是重建style
,
最好通过
color
replace(/\bcolor:[^;'"]*;?/gi, ''); //updated from [^; ] to [^;'"]
它将替换从color
到;
或space
到""