Maison  >  Article  >  développement back-end  >  Comment supprimer les balises HTML d'une chaîne en PHP à l'aide d'expressions régulières

Comment supprimer les balises HTML d'une chaîne en PHP à l'aide d'expressions régulières

WBOY
WBOYoriginal
2023-06-22 22:55:38588parcourir

En PHP, les expressions régulières peuvent être utilisées pour supprimer facilement les balises HTML des chaînes. Les balises HTML sont généralement des langages de balisage entourés de crochets angulaires et sont utilisées pour représenter divers contenus dans des pages Web, tels que des titres, des paragraphes, des images, des liens, etc. Cependant, à un moment donné, nous devrons peut-être supprimer les balises HTML de la chaîne pour un meilleur traitement et une meilleure présentation des données. Voyons comment utiliser les expressions régulières pour accomplir cette tâche en PHP.

Tout d’abord, soyons clairs : utiliser des expressions régulières pour traiter les balises HTML n’est pas une solution parfaite. Bien que les expressions régulières soient très puissantes, il existe de nombreuses formes et utilisations différentes des balises HTML. Par conséquent, les expressions régulières peuvent ne pas couvrir toutes les situations. Par conséquent, nous devons peser le pour et le contre et choisir la méthode la plus appropriée en fonction des besoins spécifiques et des caractéristiques des données.

Maintenant, examinons quelques expressions régulières couramment utilisées pour supprimer les balises HTML des chaînes.

  1. Supprimer toutes les balises HTML

Cette méthode peut supprimer toutes les balises HTML de la chaîne, ne laissant que le contenu en texte brut. Il utilise une expression régulière très simple :

$text = preg_replace('/<[^>]*>/', '', $text);

La signification de cette expression régulière est : correspond à n'importe quelle chaîne commençant par "06630b5371c2f57a0a4e64be374879e7", où ">" est précédé de " 1 " signifie n'importe quel caractère sauf ">", "" signifie qu'il peut apparaître n'importe quel nombre de fois.

  1. Supprimer les balises HTML spécifiées

Si vous ne souhaitez pas supprimer toutes les balises HTML, mais souhaitez simplement supprimer certaines balises spécifiées, vous pouvez utiliser l'expression régulière suivante :

$text = preg_replace('/<(/)?(p|ul|ol|li|strong|em)>/', '', $text);

La signification de cette expression régulière est : match Chaînes de la forme : "e388a4556c0f65e1904146cc1a846bee", "94b3e26ee717c64999d7867364b1b4a3", "ff6d136ddc5fdfeffaf53ff6ee95f185", "929d1f5ca49e04fdcb27f9465b944689", "c34106e0b4e09414b63b2ea253ff83d6", "f6f112ef45f603be226bc581f9dd5e90" "25edfb22a4f469ecb59f1190150159c6", "bed06894275b65c1ab86501b08a632eb", "", "", "" et "". Où "(/) ?" représente un symbole barre oblique facultatif, utilisé pour correspondre aux balises de fermeture telles que "/p" et "/ul". "(p|ul|ol|li|strong|em)" représente un nom de balise facultatif, où "|" représente un OU logique.

  1. Conserver les balises HTML spécifiées

Contrairement à la suppression des balises HTML spécifiées, nous pouvons parfois avoir besoin de conserver certaines balises spécifiées et de supprimer d'autres balises. À ce stade, vous pouvez utiliser l'expression régulière suivante :

$text = preg_replace('/<(?!p|a)(/)?[^>]*>/', '', $text);

La signification de cette expression régulière est : correspond à n'importe quelle chaîne commençant par "d781ced38830d8af7321726fc4d5e93e".

  1. Supprimer les balises HTML et leur contenu

Parfois, nous souhaitons non seulement supprimer les balises HTML elles-mêmes, mais également leur contenu. À l'heure actuelle, vous pouvez utiliser l'expression régulière suivante :

$text = preg_replace('/<[^>]*>.*?</[^>]*>/', '', $text);

La signification de cette expression régulière est : correspond à tout ce qui commence par "b24b58618da73dbb223d1bda37d2e9d8", et contient des caractères au milieu jusqu'à "1123d8e08dfd0495cae24c65d510054d

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn