В PHP можно показать количество активных ссылок на веб-странице, используя функции для работы с HTML и HTTP запросами.
Самый простой способ - это использовать функции, предоставляемые расширением curl. Это расширение позволяет делать HTTP запросы и получать информацию о каждой ссылке на странице. Например, чтобы получить количество активных ссылок на странице, вы можете использовать следующий код:
function countActiveLinks($url) { $ch = curl_init(); // Устанавливаем параметры запроса curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Отправляем запрос $response = curl_exec($ch); // Проверяем код ответа сервера $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($httpCode !== 200) { // Ошибка: невозможно получить страницу return 0; } // Используем DOMDocument для работы с HTML $dom = new DOMDocument(); @$dom->loadHTML($response); // Игнорируем ошибки парсинга HTML // Считаем количество активных ссылок $links = $dom->getElementsByTagName('a'); $activeLinkCount = 0; foreach ($links as $link) { $linkUrl = $link->getAttribute('href'); if (isUrlValid($linkUrl)) { $activeLinkCount++; } } // Возвращаем количество активных ссылок return $activeLinkCount; } function isUrlValid($url) { // Дополнительная проверка ссылки // Можно добавить валидацию других форматов URL или проверки активности ссылок // Проверяем, является ли ссылка относительной if (strpos($url, 'http') !== 0) { // Если ссылка относительная, то преобразуем ее в абсолютную $url = "http://".$_SERVER['HTTP_HOST'].$url; } // Проверяем доступность ссылки $headers = @get_headers($url); return ($headers && strpos($headers[0], '200') !== false); } // Пример использования $url = "http://example.com"; $activeLinkCount = countActiveLinks($url); echo "Количество активных ссылок на странице $url: $activeLinkCount";
Этот код использует функции curl для получения HTML кода веб-страницы. Затем, используя расширение DOMDocument, мы находим все ссылки на странице и проверяем их доступность с помощью функции isUrlValid(). Если ссылка считается активной, увеличиваем счетчик $activeLinkCount. В конце мы выводим количество активных ссылок на странице.
Учитывайте, что при проверке ссылок могут возникнуть ошибки или некорректные результаты, в зависимости от настроек сервера или содержания веб-страницы.