我遇到的问题是页面中的某些链接已损坏,除非有人报告,否则无法修复。我可以自动化,以便“ping”页面中的每个链接以检查它是否处于事件状态或找到替代链接吗? 服务器端(php 等)是否有自动化脚本来修复页面中损坏的链接?
最佳答案
我会做的是..
解析网页的 HTML 源代码,然后从 <a>
获取所有超链接。将标签锚定到数组中,然后执行 file_get_contents()
对它们中的每一个进行检测并检测响应 header 以及它们是否为 NULL
那么链接就关闭了,否则链接就打开了。
虽然没有经过测试..但是语法正确
<?php
$html= file_get_contents('http://yourwebsite.com/index.html');
$dom = new DOMDocument;
$dom->loadHTML($html);
$links = array();
foreach ($dom->getElementsByTagName('a') as $tag) {
$links[]=$tag->getAttribute('href');
}
foreach($links as $link)
{
@file_get_contents($link);
echo is_null((@$http_response_header)) ? "$link is Down" : "$link is Working";
}
关于php - 自动化修复损坏的 Web 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23486754/