Как искать в тегах script при помощи php?

Для поиска тега <script> при помощи PHP вы можете использовать регулярные выражения (regular expressions) или функции для работы с HTML-кодом. Ниже приведены два примера решения этой задачи.

1. Использование регулярных выражений:

<?php
// HTML-код с тегами <script>
$html = '<html>
            <head>
                <script src="script1.js"></script>
                <title>Пример страницы</title>
            </head>
            <body>
                <h1>Пример</h1>
                <script src="script2.js"></script>
                <script>
                    // JavaScript-код
                    var x = 5;
                    console.log(x);
                </script>
            </body>
        </html>';

// Регулярное выражение для поиска тега <script>
$pattern = '/<script.*?>.*?</script>/si';

// Поиск всех совпадений
preg_match_all($pattern, $html, $matches);

// Вывод найденных тегов <script>
foreach ($matches[0] as $script) {
    echo $script;
}
?>

2. Использование функций для работы с HTML-кодом:

<?php
// HTML-код с тегами <script>
$html = '<html>
            <head>
                <script src="script1.js"></script>
                <title>Пример страницы</title>
            </head>
            <body>
                <h1>Пример</h1>
                <script src="script2.js"></script>
                <script>
                    // JavaScript-код
                    var x = 5;
                    console.log(x);
                </script>
            </body>
        </html>';

// Создание объекта DOMDocument
$dom = new DOMDocument();
libxml_use_internal_errors(true); // Игнорирование ошибок парсинга

// Загрузка HTML-кода
$dom->loadHTML($html);
libxml_clear_errors();

// Поиск всех тегов <script>
$scriptTags = $dom->getElementsByTagName('script');

// Вывод найденных тегов <script>
foreach ($scriptTags as $script) {
    echo $dom->saveHTML($script);
}
?>

Оба решения выводят найденные теги <script>. Вы можете выбрать подход, который больше всего подходит для ваших потребностей. Помимо этого, вы также можете добавить проверку наличия атрибутов или условий поиска для уточнения результата.