Извлеките/очистите javascript window.open из статического html-файла, используя php

Я пытаюсь очистить кучу локальных html-файлов. У каждого из них есть фрагмент javascript, встроенный в файл, с другим путем window.open, например:

<script>

function goTo() {

if (document.getElementById('somedomain').checked) {
window.open("http://www.somedomain.com");
}

if (document.getElementById('visit').checked) {
window.open("http://extract-this-url.com/?somevar=12345&anothervar=59305&etc=etc");
}

}
</script>

Я пытаюсь извлечь этот второй URL-адрес - это будет другой URL-адрес для каждого файла (как и первый URL-адрес «somedomain»).

Я просматривал SimpleHTMLDOM, но не похоже, что он может выполнять javascript, встроенный в файл HTML.

Есть ли достойный способ сделать это?


person Sk446    schedule 04.01.2013    source источник
comment
Парсеры HTML анализируют HTML, а не JavaScript ;-)   -  person Álvaro González    schedule 04.01.2013


Ответы (1)


Просто используйте регулярное выражение:

preg_match('#visit.*?window\.open\("(.*?)"#is',$text,$matches);
print_r($matches);
person Dracony    schedule 04.01.2013
comment
Не могу заставить это работать - просто получаю пустой массив. Я предполагаю, что в этом примере $text будет просто источником HTML для файла, из которого нужно извлечь, правильно? - person Sk446; 04.01.2013
comment
Моя ошибка, должно быть #is no #s . Сейчас отредактировал =) - person Dracony; 04.01.2013