comment faire pour supprimer une balise et son contenu à l'aide de l'expression régulière?
$str = 'texte de la balise contenu plus de texte ';
Mes questions sont les suivantes:
Comment récupérer le contenu tag <em>contents </em>
qui est entre <MY_TAG> .. </MY_TAG>
?
Et
Comment faire pour supprimer <MY_TAG>
et son contenu à partir de $str
?
Je suis à l'aide de PHP.
Merci.
Je me demande combien de fois la réponse suivante est liée à un jour donné: stackoverflow.com/questions/1732348/...
Analyseur HTML bla bla bla... Vous connaissez le refrain.
Analyseur HTML bla bla bla... Vous connaissez le refrain.
OriginalL'auteur user187580 | 2010-03-04
Vous devez vous connecter pour publier un commentaire.
Si
MY_TAG
ne peuvent pas être imbriqués, essayez ceci pour obtenir les matches:Et à enlever, utiliser
preg_replace
à la place.Le s drapeau rend le
.
correspondent à des sauts de ligne. Voir php.net/manual/en/reference.pcre.pattern.modifiers.phpVous feriez mieux de jeu moins gourmand avec ce modèle si vous pouvez trouver cette balise dans la chaîne, plus d'une fois. Sinon, vous trouverez que vous convertir cette chaîne "C'est <my_tag></my_tag> important <my_tag>jeu</my_tag> line" dans "Ce qui est en ligne"
Le
?
après la*
fait exactement la même chose.Et j'ai regardé à droite à cette réponse et ne pas voir l' ? modificateur, oups!
OriginalL'auteur Gumbo
Pour le retrait j'ai fini par juste en utilisant cette:
À l'aide de ~ au lieu de /pour le délimiteur résolu les erreurs étant jeté à cause de la barre oblique inverse dans la balise de fin, ce qui semblait être un problème, même à l'échappement. En éliminant > à partir de la balise d'ouverture permet d'attributs ou d'autres caractères, et obtient toujours l'étiquette et l'ensemble de son contenu.
Cela ne fonctionne que lorsque l'imbrication n'est pas un sujet de préoccupation.
La
Usi
modificateurs dire U = moins gourmand, s = inclure les caractères de saut de ligne, i = insensible à la casse.OriginalL'auteur squarecandy
Vous ne souhaitez pas utiliser les expressions régulières pour cela. Une bien meilleure solution serait de charger votre contenu dans un DOMDocument et de travailler sur elle à l'aide de l'arborescence DOM et DOM standard méthodes:
OriginalL'auteur Kris
Bien que la seule manière correcte de le faire est de ne pas utiliser des expressions régulières, vous pouvez obtenir ce que vous voulez si vous acceptez de ne pas traiter tous les cas particuliers:
Et
OriginalL'auteur Nicole