Avatar ·

如何在PHP中正确解析HTML和XML:流行方法与库解析

大家好!我是一名初学PHP开发者,遇到了解析HTML和XML的问题。我需要从外部网站提取数据(例如新闻标题和链接),并处理来自合作伙伴的XML feed。 问题在于,我尝试使用正则表达式,但代码变得很糟糕,并且在HTML稍有变化时就会失效。例如,我写了这样的代码: ```php $html = file_get_contents('https://example.com'); preg_match('/

(.*?)<\/h2>/', $html, $matches); echo $matches[1]; ``` 但如果网站结构发生变化或出现换行,一切都会停止工作。此外,我了解到对于XML有SimpleXML,但它不能处理HTML,而DOMDocument似乎两者都能处理。但我感到困惑:对于每个任务应该选择哪个工具? 请指教: 1. 如何正确解析HTML,考虑到标记中可能出现的错误? 2. 如何处理XML(例如RSS feed)? 3. 对于复杂场景,最好使用哪些库?