这篇文章上次修改于 4 个月前,可能其部分内容已经发生变化,如有疑问可询问作者。
在昨天完善Magic主题的时候,突然想到一个需求,获取我另一个博客的文章和对应url。但是Halo博客没有提供api(可能是我不知道),但是它提供了sitemap。
那样我就可以用php去解析sitemap然后输出<a>标签。
使用cURL发送get请求发现回传一个html。
可以发现需要的标题都在 '/archives/.*?" title="(.*?)">那么我们用这个正则表达式进行解析。
首先使用cURL获取html存入$html, 然后使用preg_match_all正则匹配 把匹配到的放入$title 变量。这里要注意传入preg_match_all中第一个参数是匹配式,需要两端加#原因未知,反正没加就报错。走了很多弯路。
$title是一个数组,里面会有两个数组,第一个是匹配到的项,第二个是匹配到的结果,这里我们要第二个数组。也就是$title['1'],并将它倒置,这样可以从新到旧的方式排列。
构造url列表。
然后构造<a>标签。使用array_map()方法。
最后附上完整的方法。
其他博客也是如此。

亲亲留个评论再走呗

正在加载评论区...