Возможно ли, что массив замен строк с использованием регулярных выражений может использовать eval
для выполнения и возврата значения из функции, которую мне нужно сделать с помощью этого метода:
var message = $('#message').html();
var searchstring = [
/<span style="color: rgb((.*), (.*), (.*));">(.*)<\/span>/gi,
// other regex
];
var replacestring = [
eval('RGBtoHex($1, $2, $3)'),
// other regex
];
for(i = 0; i < searchstring.length; i++)
{
message = message.replace(searchstring[i], replacestring[i]);
}
$('.message-box').val(message);
Я пытаюсь преобразовать RGB в шестнадцатеричное значение, поэтому оно должно измениться на что-то вроде: rgb(255, 255, 255)
на #FFFFFF
. Тем не менее, когда я делаю это, он говорит в Firebug: $1 is not defined
, который расположен для этого: eval('RGBtoHex($1, $2, $3)'),
.
Как я смогу выполнить функцию eval()
для возврата rgb в шестнадцатеричное значение при выполнении замены строки на .replace()
?
Все отлично работает, кроме eval-части.