Avatar ·

Comment parser correctement HTML et XML en PHP ? Analysons DOMDocument, SimpleXML et les expressions régulières

Bonjour à tous ! Je suis un développeur PHP débutant et je lutte depuis deux semaines avec le parsing de pages HTML. Je dois extraire tous les liens et titres d'un site externe, mais je n'arrive pas à comprendre comment faire correctement. Au début, j'ai essayé d'utiliser des expressions régulières, mais le code devient horrible et se casse au moindre changement dans le HTML. Voici ce que j'avais : ```php $html = file_get_contents('https://example.com'); preg_match_all('/(.*?)<\/a>/', $html, $matches); ``` Cela fonctionne uniquement pour les liens simples, mais si les attributs contiennent des guillemets ou des sauts de ligne — tout se casse. Et je ne parle même pas du XML — avec ses namespaces et sa complexité d'imbrication. Ensuite, je suis tombé sur `DOMDocument` et `SimpleXML`, mais je ne comprends pas la différence et quoi choisir. J'ai aussi entendu parler de `DOMXPath` et `DOMCrawler`, mais j'ai peur que ce soit trop complexe pour ma tâche. S'il vous plaît, dites-moi : 1. Quel outil est le meilleur pour parser HTML et XML ? 2. Comment gérer correctement les erreurs si le HTML est mal formé ? 3.