Dom\HTMLDocument (parseur HTML5)
PHP 🟡 MidDéfinition
Nouvelle API DOM de PHP 8.4, dans l'espace de noms Dom, conforme aux standards et dotée d'un vrai parseur HTML5. Dom\HTMLDocument::createFromString()/createFromFile() remplacent DOMDocument (parseur XML) et offrent querySelector(), classList et un encodage UTF-8 par défaut.
Analogie
Passer d'un traducteur qui ne comprend que le latin classique à un natif qui lit l'argot d'aujourd'hui.
Exemple de code
$dom = Dom\HTMLDocument::createFromString(
'<main><article>PHP 8.4</article>
<article class="featured">DOM HTML5</article></main>',
LIBXML_NOERROR,
);
$node = $dom->querySelector('main > article:last-child');
var_dump($node->classList->contains('featured')); // true
// avant : new DOMDocument() + loadHTML() + DOMXPath
Cas d'usage
Scraper ou nettoyer du HTML réel (balises non fermées, HTML5) sans les avertissements et les erreurs de DOMDocument.
Anti-pattern
Utiliser DOMDocument::loadHTML() sur du HTML5 moderne et masquer les erreurs avec @.
Termes liés
Fiche mise à jour le 2026-09-27