使用PHP将sitemap.xml文件转换为urllist.txt文件

如果创建的脚本可以生成sitemap.xml文件,则改编该脚本以创建urllist.txt文件是没有意义的。最好的解决方案是使用此sitemap.xml文件创建urllist.txt。下面的脚本将完全做到这一点。

$lines = file('sitemap.xml');
$allMatches = array();
 
foreach ( $lines as $line_number => $line ) {
 $line = trim($line);
 preg_match_all('/(?<=\<loc\>)(.*?)(?=\<\/loc\>)/U', $line, $matches,PREG_SET_ORDER);
 if($matches){
  if ( $matches[0][0] != '' ) {
   $allMatches[] = $matches[0][0];
  };
 };
};
 
$list = '';
foreach ( $allMatches as $url ) {
 $list .= $url."\n";
};
$fh = fopen('urllist.txt', "w+");
fwrite($fh, $list);
fclose($fh);
 
// 打印清单以提供一些反馈...
echo $list;

该脚本首先sitemap.xml通过使用file()函数将文件加载到数组中来工作。然后,脚本会遍历数组中的所有项目,并挑选出标签并将其放入数组。然后,将它们添加到一个名为的文件中,urllist.txt而且还会打印输出以提供一些指示,表明该脚本已运行。如果要将其合并到较大的脚本中,可以将其删除。