我试图找出一种方法来替换字符串(包含HTML代码)中的所有rgb值和十六进制等效值。
我发现了一个转换rgb2hex的小函数,但我似乎无法找到一种方法来替换字符串中的多个rgb值。有人可以指导我正确的方向,我需要做什么?
这是字符串的示例,我试图用相关的十六进制代码替换每个rgb值
//example need help
var test = '
<div style="background-color:rgb(21,233,21)"></div>
<div style="background-color:rgb(43,123,43)"></div>
'
我在这里创造了一个基本的小提琴https://jsfiddle.net/Ldq3ckh0/
非常感谢任何正确方向的帮助或指导!
谢谢!
答案 0 :(得分:2)
答案 1 :(得分:0)
感谢大家的帮助。我通过使用以下代码
设法使其工作 var test = "width: 250px; background-color: rgb(48, 44, 48); background-color: rgb(23, 212, 23);"
var output = test.replace(
/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
function($0, $1, $2, $3) {
return "#" + ("0"+Number($1).toString(16)).substr(-2) + ("0"+Number($2).toString(16)).substr(-2) + ("0"+Number($3).toString(16)).substr(-2);
})