demi,
Вы не заметили, что результат этой функции -
массив исходных кодов?
Сделайте проще (чтоб два раза не обходить массив), пусть выполняется сразу в функции:
function evalScripts(str) {
var scriptFragment = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)';
var matches = str.match(new RegExp(scriptFragment, 'img'));
if (matches) {
var oneScriptPattern = new RegExp(scriptFragment, 'im');
for (var i = 0; i < matches.length; i++)
eval((matches[i].match(oneScriptPattern) || ['', ''])[1]);
}
return true;
}