php - 自动化修复损坏的 Web 链接

标签 php node.js web seo

我遇到的问题是页面中的某些链接已损坏,除非有人报告,否则无法修复。我可以自动化,以便“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/

相关文章:

php - SQL连接两个不同的表

php - MySQL按年月日计算年龄

php - 脚本运行时在浏览器中输出回显内容?

python - Mechanize 中的 HTTP 登录

javascript - 有没有办法像 HTMLElement 一样扩展 SVGElement

PHP MySQL 更新返回成功,但没有行被更改

javascript - 如何在没有公共(public)列的两个表上使用 Nodejs 中的 Sequelize 进行 INNER JOIN?

javascript - 如何同步执行函数以获得正确的输出

node.js - Vue 组件文件仅在 Windows 上构建时存在语法错误

使用正则表达式进行 Python 网页抓取