Зачистка переменных JavaScript в PHP - PullRequest
6 голосов
/ 13 августа 2011

Я пытаюсь проанализировать некоторый HTML-код с помощью Xpath, но обнаруживаю, что ссылки, которые я хочу получить, генерируются каким-то javascript, а не обычным якорем.Javascript выглядит следующим образом:

<script type="text/javascript">
    var Hyperurl="ab5";
    var Hyperlink="46439157";
</script>

Теперь я использовал XPath для получения кода скрипта через:

$xpath->query('//script[contains(.,"Hyper")]');

, который возвращает:

var Hyperurl="ab5";var Hyperlink="46439157";

Мой вопросКак мне получить эти данные в массив так же, как parse_url или тому подобное?Должен ли я просто preg_match_all переменную, хранящую строку?Если да, то какое регулярное выражение я бы использовал?Или есть лучший способ для анализа и получения данных, которые я хочу?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 13 августа 2011

Вы можете попробовать:

preg_match_all('/"(.*?)"/', $variables, $array);

Я думаю, что ваши переменные будут $ массив [1] и $ массив [2].

2 голосов
/ 13 августа 2011

Вы можете использовать это

preg_match_all('/var\s+(\w+)\s*=\s*(["\']?)(.*?)\2;/i', $js, $matches);

$matches[1] будет содержать имена переменных, а $matches[3] будет содержать их значения.

...