<span style=\"font-size: small; color: rgb(230, 0, 0);\">萨达</span>
求个正则把上面这种html的格式转换成下面这种ugui格式
<color=#E60000>萨达</color>
<span style=\"font-size: small; color: rgb(230, 0, 0);\">萨达</span>
求个正则把上面这种html的格式转换成下面这种ugui格式
<color=#E60000>萨达</color>
function rgb2hex() {
var hex = "#";
for (var i = 0; i < arguments.length; ++i) {
hex += ("0" + (arguments[i] | 0).toString(16)).slice(-2);
}
return hex.toUpperCase();
}
var reg = /<span.*(color): rgb\((\d+), (\d+), (\d+)\);.*>(.*)<\/span>/;
var str = "<span style=\"font-size: small; color: rgb(230, 0, 0);\">萨达</span>";
var html = str.replace(reg, function(match, $1, $2, $3, $4, $5) {
return "<" + $1 + "=" + rgb2hex($2, $3, $4) + ">" + $5 + "</" + $1 + ">";
});
console.dir(html);
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
不知道能不能满足你的需求 你可以在rgb后面在详细匹配,现在匹配出来的是这个

剩下的逗号分隔然后转16进制,相信你也会