在字符串中,将每个具有某些属性的HTML元素添加到一个新的具有任意值的任意属性的任意元素中

时间:2019-03-17 14:34:31

标签: java mapping

我有一个包含以下HTML代码的字符串:

abc <h1><div style="color: rgb(190, 6, 6);">ABC <span style="color: rgb(0, 255, 6);">DEF</span></div></h1>

我的程序必须检测到已使用color,以便它将每个元素(divspan)自动添加到新元素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>

1 个答案:

答案 0 :(得分:1)

使用此正则表达式进行搜索和替换

pattern = "(<div[\s]+style=")(color:[\s]+rgb\([\d]+, [\d]+, [\d]+\))"

replace by "<font color=\"$2\">$1\"$2\"

这适用于div。同样,您可以跨度完成