(PHP 5, PHP 7, PHP 8)
DOMDocument::loadHTML — Charge du code HTML à partir d'une chaîne de caractères
Cette fonction analyse un document HTML contenu dans la chaîne source
. Contrairement au XML, le HTML n'a pas besoin d'être bien formé pour être chargé.
Cette fonction analyse l'entrée à l'aide d'un analyseur HTML 4. Les règles d'analyse de HTML 5, que les navigateurs modernes utilisent, sont différentes. En fonction de l'entrée, il peut en résulter une structure DOM différente. Par conséquent, cette fonction ne peut pas être utilisée en toute sécurité pour assainir le code HTML.
Par exemple, certains éléments HTML fermeront implicitement un élément parent lorsqu'ils seront rencontrés. Les règles de fermeture automatique des éléments parents diffèrent entre HTML 4 et HTML 5, de sorte que la structure DOM que DOMDocument voit peut être différente de la structure DOM qu'un navigateur web voit, ce qui peut permettre à un attaquant de briser le code HTML résultant.
source
La chaîne HTML.
options
Si une chaîne vide est passée comme paramètre source
, une alerte sera générée. Cette alerte n'est pas générée par libxml, et ne peut être gérée en utilisant les fonctions de gestion d'erreur de libxml.
Bien que le HTML mal-formé devrait se charger avec succès, cette fonction peut générer une alerte de type E_WARNING
lorsqu'elle rencontre une mauvaise balise. Les fonctions de gestion des erreurs libxml peuvent être utilisées pour gérer ces erreurs.
Version | Description |
---|---|
8.3.0 | Cette fonction a maintenant un type de retour bool provisoire. |
8.0.0 | Appeler cette fonction de manière statique lèvera désormais une Error. Auparavant, une erreur E_DEPRECATED était générée. |
Exemple #1 Création d'un document
<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
echo $doc->saveHTML();
?>