Avatar ·

Como parsear HTML e XML corretamente em PHP: análise de métodos e bibliotecas populares

Olá a todos! Sou um desenvolvedor PHP iniciante e me deparei com o problema de parsing de HTML e XML. Preciso extrair dados de um site externo (por exemplo, títulos de notícias e links), além de processar feeds XML de parceiros.\n\nO problema é que tentei usar expressões regulares, mas o código fica horrível e quebra com a menor alteração no HTML. Por exemplo, escrevi este código:\n\n```php\n$html = file_get_contents('https://example.com');\npreg_match('/

(.*?)<\/h2>/', $html, $matches);\necho $matches[1];\n```\n\nMas se a estrutura do site muda ou aparecem quebras de linha, tudo para de funcionar. Além disso, li que para XML existe o SimpleXML, mas ele não funciona com HTML, enquanto o DOMDocument parece lidar com ambos. Mas estou confuso: qual ferramenta escolher para cada tarefa?\n\nPor favor, me ajudem:\n1. Como parsear HTML corretamente, considerando possíveis erros na marcação?\n2. Como trabalhar com XML (por exemplo, feeds RSS)?\n3. Quais bibliotecas são melhores para casos complexos?