Maison  >  Article  >  développement back-end  >  PHP Comment supprimer les balises HTML et PHP d'une chaîne

PHP Comment supprimer les balises HTML et PHP d'une chaîne

王林
王林avant
2024-03-19 14:07:11364parcourir

L'éditeur php Xiaoxin vous explique comment utiliser PHP pour supprimer les balises HTML et PHP des chaînes. Dans le développement Web, nous devons souvent traiter du texte contenant des balises. Afin d'obtenir du contenu en texte brut, nous pouvons utiliser la fonction strip_tags() en PHP pour supprimer les balises HTML et la fonction preg_replace() pour supprimer les balises PHP. Ces deux fonctions peuvent être utilisées ensemble pour supprimer facilement les marqueurs des chaînes, vous permettant ainsi de traiter le contenu du texte plus facilement. Ensuite, apprenons-en davantage sur son fonctionnement !

Supprimer les balises HTML et PHP des chaînes

Citation : Dans le traitement des données, il est souvent nécessaire de supprimer les balises HTML et PHP des chaînes pour obtenir du contenu en texte brut ou pour empêcher l'exécution de code inutile. PHP fournit une variété de fonctions et d'expressions régulières pour y parvenir.

Méthode 1 : fonction strip_tags()

La fonction

strip_tags() supprime toutes les balises HTML et PHP d'une chaîne, y compris les commentaires et les scripts. Sa syntaxe est la suivante :

string strip_tags(string $str, string $allow_tags = null)

Parmi eux, $str est la chaîne à traiter, et $allow_tags est un paramètre facultatif précisant la liste des balises HTML à conserver. Par exemple :

$str = "<h1>Hello, world!</h1><p>This is a paragraph.</p>";
$result = strip_tags($str); // 输出:"Hello, world!This is a paragraph."

Méthode 2 : Expressions régulières

Les expressions régulières offrent un moyen plus flexible de supprimer les balises HTML et PHP. Les expressions régulières suivantes peuvent être utilisées :

/<(!--.*?-->|<?.*??>|(?<=[^>])><[^>]+)>/s

Cette expression régulière correspondra à toutes les balises HTML et PHP, y compris les commentaires, les scripts et les balises à fermeture automatique. Grâce à la fonction preg_replace(), il peut être supprimé :

$str = "

Hello, world!

This is a paragraph.

"; $result = preg_replace("/<(!--.*?-->|<?.*??>|(?<=[^>])><[^>]+)>/s", "", $str);

Méthode 3 : Classe DOMDocument

La classe DOMDocument fournit un accès de bas niveau aux documents XML et HTML. Cette classe vous permet de supprimer les balises HTML d'une chaîne en :

  1. Créez un objet DOMDocument et chargez la chaîne.
  2. Utilisez la méthode loadHTML() pour charger des chaînes.
  3. Appelez la méthode saveHTML() pour enregistrer le document sous forme de chaîne contenant du texte brut sans balisage.
$str = "<h1>Hello, world!</h1><p>This is a paragraph.</p>";
$dom = new DOMDocument();
$dom->loadHTML($str);
$result = $dom->saveHTML();

Comparaison des performances :

Il existe des différences subtiles de performances entre ces trois méthodes. Pour les chaînes plus petites, la fonction strip_tags() est généralement la plus rapide. Pour les chaînes plus grandes, les expressions régulières peuvent être légèrement plus rapides. La classe DOMDocument est lente lors du traitement de documents HTML complexes.

Méthode de sélection :

La méthode à choisir dépend des besoins spécifiques et du type de cordes traitées. Pour un traitement de texte simple, la fonction strip_tags() est généralement suffisante. Pour des besoins plus complexes, les expressions régulières ou la classe DOMDocument offrent davantage d'options de contrôle.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer