Expression régulière pour supprimer efficacement les balises HTML
Lorsque vous essayez de supprimer des balises HTML à l'aide d'expressions régulières, il est crucial de résoudre le problème de l'abandon balises de fermeture. Cet article fournit une solution efficace à ce défi.
Le code fourni :
string sPattern = @"<\/?!?(img|a)[^>]*>"; Regex rgx = new Regex(sPattern);
Les tentatives de suppression de la première occurrence de et balises mais ne parvient pas à éliminer les balises de fermeture.
Pour obtenir le résultat souhaité, l'expression régulière doit être modifiée comme suit :
string sPattern = @"<\/?[^>]*>";
Ce modèle mis à jour correspond à n'importe quelle balise HTML, quelle que soit sa tapez et supprimera les balises d'ouverture et de fermeture.
De plus, le code fourni peut être simplifié en utilisant des méthodes de chaîne telles que Trim et Replace, comme illustré dans le suivant :
string removeTags(string input) { return input.Replace("<[^>]*>", "") .Replace("\s+", " ") .Trim(); }
Cette fonction supprime efficacement toutes les balises HTML, remplace plusieurs espaces par un seul espace et supprime tous les espaces de début ou de fin.
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!