Maison > Article > développement back-end > Comment supprimer les balises html en php (trois méthodes)
Avec le développement continu de la technologie Internet, le développement de sites Web est devenu de plus en plus complexe et enrichi. Lors de la maintenance et du développement de sites Web, le code HTML est souvent utilisé. Bien que le HTML soit la base des pages Web, nous devons parfois extraire du texte brut du HTML, nous devons donc supprimer les balises HTML. En réponse à ce besoin, cet article présentera comment utiliser PHP pour supprimer le HTML.
1. Utilisez la fonction strip_tags pour supprimer le HTML
En PHP, la fonction strip_tags est spécialement utilisée pour supprimer les balises HTML. L'utilisation de cette fonction est la suivante :
strip_tags($str, $allowTags)
Parmi eux, $str est la chaîne à traiter, $allowTags est un paramètre facultatif, qui fait référence aux balises HTML qui peuvent être conservées si elles ne sont pas spécifiées, tout le HTML. les balises seront supprimées. Voici un exemple de code :
$html = '<p>这是一段带有HTML标签的文本,<a href="https://www.example.com">这是链接</a>。</p>'; echo strip_tags($html);
Le résultat est :
这是一段带有HTML标签的文本,这是链接。
Ce code supprimera les balises HTML et conservera uniquement le texte.
2. Utilisez des expressions régulières pour supprimer le HTML
En plus d'utiliser la fonction strip_tags, vous pouvez également utiliser des expressions régulières pour supprimer les balises HTML. Il convient de noter qu’avant d’utiliser des expressions régulières, vous devez comprendre la syntaxe de base des balises HTML.
Les balises HTML sont entourées de crochets angulaires et ont une balise de début et une balise de fin. La balise d'ouverture commence par "<" et se termine par ">" ; la balise de fermeture commence par "" et se termine par ">". Les noms de balises sont constitués de lettres, de chiffres et de traits de soulignement.
Ce qui suit est un exemple de code d'expression régulière simple qui peut être utilisé pour supprimer les balises HTML :
$html = '<p>这是一段带有HTML标签的文本,<a href="https://www.example.com">这是链接</a>。</p>'; echo preg_replace('/<[^>]+>/u', '', $html);
Le résultat de sortie est :
这是一段带有HTML标签的文本,这是链接。
Ce code fera correspondre tous les caractères entre "<" et ">", et remplacera eux avec des chaînes vides.
3. Utilisez la classe DOMDocument pour supprimer le HTML
En plus des deux méthodes ci-dessus, vous pouvez également utiliser la classe DOMDocument de PHP pour supprimer les balises HTML. L’avantage de cette méthode est qu’elle permet d’éviter les erreurs d’analyse causées par des codes HTML irréguliers. L'exemple de code est le suivant :
$html = '<p>这是一段带有HTML标签的文本,<a href="https://www.example.com">这是链接</a>。</p>'; $dom = new DOMDocument(); // 创建一个DOMDocument对象 $dom->loadHTML($html); // 将HTML字符串加载到对象中 echo $dom->textContent; // 输出内容
Le résultat de sortie est :
这是一段带有HTML标签的文本,这是链接。
La classe DOMDocument analyse le code HTML dans une arborescence DOM, et vous pouvez ensuite utiliser les méthodes fournies par cette classe pour faire fonctionner les éléments de l'arborescence DOM, comme obtenir le nom de la balise et les attributs de l'élément, etc.
Résumé
Les balises HTML peuvent être facilement supprimées via les trois méthodes ci-dessus, mais vous devez choisir la méthode la plus adaptée au scénario actuel en fonction des besoins réels. Si le code HTML est relativement standardisé, il est recommandé d'utiliser la fonction strip_tags ou la méthode d'expression régulière car elles sont plus rapides ; si plus de flexibilité est requise, il est recommandé d'utiliser la classe DOMDocument pour analyser le code HTML.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!