Показать сообщение отдельно
  #9 (permalink)  
Старый 13.02.2009, 05:08
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

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;
}
Ответить с цитированием