Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014
Откуда: Украина
Помог: 73 раз(а)
|
x-miller-x, ну чтоб не сильно заморачиваться с регулярками, можно например искать контейнер <script></script>, а потом какую-то строку внутри него. Например, сигнатуру функции (function(d, w, c) { Спойлер (Отобразить)PHP:
скопировать код в буфер обмена
$str = <<<NEED <!-- TEST CODE --> <script type="text/javascript"> (function(d, w, c) { w[c] = { project: 12312123 }; var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "http://domain.ru/js/load.js"; })(document, window, "init"); </script> <script> (function(d, w, b) { w[c] = { project: 12312123 }; var n = d.getElementsByTagName("script")[0], s = d.createElement("script"), f = function () { n.parentNode.insertBefore(s, n); }; s.type = "text/javascript"; s.async = true; s.src = "http://domain.ru/js/load.js"; })(document, window, "init"); </script> <!-- TEST CODE --> NEED; $bool = find_line_script($str, 'function(d, w, a)'); var_dump($bool); // Вернёт false, т.к. строки "function(d, w, a)" не существует function find_line_script($str, $need) { $result = []; } return empty($result) ? false : true; }
|