我有一个包含以下HTML代码的字符串:
abc <h1><div style="color: rgb(190, 6, 6);">ABC <span style="color: rgb(0, 255, 6);">DEF</span></div></h1>
我的程序必须检测到已使用color
,以便它将每个元素(div
和span
)自动添加到新元素font
中。即使有多个元素(每个元素包含一个color
规则)也必须起作用,在字符串中,在左侧或右侧添加其他HTML元素。
我该怎么办?
上面的代码将变为:
abc <h1><font color="rgb(190, 6, 6)"><div style="color: rgb(190, 6, 6);">ABC <font color="rgb(0, 255, 6);"><span style="color: rgb(0, 255, 6);">DEF</span></font></div></font></h1>
答案 0 :(得分:1)
使用此正则表达式进行搜索和替换
pattern = "(<div[\s]+style=")(color:[\s]+rgb\([\d]+, [\d]+, [\d]+\))"
replace by "<font color=\"$2\">$1\"$2\"
这适用于div。同样,您可以跨度完成