ex: <a><strike>example data in here</strike></a>
Je veux tout à l'intérieur de la balise, à la fin
/<a>([^<]*)<\/a>/
Cela fonctionne quand il n'y a pas de balises supplémentaires dans l'étiquette <a>
, mais quoi il y en a?
Je veux savoir si vous pouvez le dire à tout attraper jusqu'à [^</a>]
au lieu de [^<]
seulement.
Le faire avec /<a>(.*)<\/a>/
ne fonctionne pas bien. Parfois, je reçois tout dans la balise <a>
et d'autres fois, je reçois des tonnes de lignes incluses dans cet appel.
/<a>(.*?)<\/a>/
devrait marcher. Les ? le rend paresseux, alors il attrape le moins possible avant de faire correspondre le </a>
partie. mais en utilisant. va dire que cela correspond à tout jusqu'à ce qu'il trouve </a>
. Si vous souhaitez pouvoir correspondre à des lignes, vous pouvez utiliser ce qui suit si avec Preg_Match
/<a>(.*?)<\/a>/s
La "s" à la fin met l'expression régulière en mode "ligne unique", ce qui signifie le. Le caractère correspond à tous les caractères, y compris de nouvelles lignes. Voir Autres modificateurs utiles