使用PHP代码从xml网站地图文件中快速提取尿素的方法

104 阅读1分钟

以下简短的PHP代码将使你能够从一个标准的WordPress xml网站地图或任何其他遵守网站地图模式的网站地图中提取尿素。


# extract-urls.php
#
# Extract only URLS from a XML sitemap.
# Sitemap schema : https://www.sitemaps.org/protocol.html


if(count($argv) < 2) {
    exit("Error: Invalid number of arguments. Specify an input XML file.");
}

$xml_filename = $argv[1];

if (file_exists($xml_filename)) 
{
    $xml = simplexml_load_file($xml_filename);
    
    if($xml->getName() == 'urlset')
    {
        $children = $xml->children();
        foreach($children as $child) 
        {
            if($child->getName() == 'url')
            {
                echo $child->loc . PHP_EOL;
            }
        }
    }
} else {
    exit('Failed to open XML file.');
}

然后你可以从命令行中使用它。这将从示例的 "XML-Sitemap.xml "文件中提取urls,并通过管道传输到一个文本文件。

c:\tools>php extract-urls.php XML-Sitemap.xml > urls.txt