Maison > développement back-end > tutoriel php > Comment extraire du texte entre crochets à l'aide d'expressions régulières PHP ?

Comment extraire du texte entre crochets à l'aide d'expressions régulières PHP ?

Mary-Kate Olsen
Libérer: 2024-11-28 15:57:10
original
1034 Les gens l'ont consulté

How to Extract Text Enclosed in Square Brackets Using PHP Regular Expressions?

Extraire du texte entre crochets en PHP

Le défi de capturer du texte entre crochets en PHP nécessite une approche nuancée. Une tentative courante, utilisant /[.*?]/ comme expression régulière, ne récupère que la première instance, vous laissant avec un résultat incomplet.

Capture de l'enceinte :

Pour surmonter cette limitation, utilisez des expressions régulières qui englobent l'intégralité du texte entre crochets. Considérez le modèle :

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[[^\]]*\]/", $text, $matches);
Copier après la connexion

Ici, /[1]/ fonctionne comme une expression régulière qui correspond à n'importe quelle chaîne entre crochets. Le caractère caret (^) correspond au début de la chaîne, suivi d'un crochet. La partie 2 signifie un caractère qui n'est pas une parenthèse. L'astérisque () correspond à n'importe quel nombre d'occurrences et le crochet final conclut le modèle.

L'exécution de cette expression régulière sur le texte fourni entraînera :

Array (
     [0] => [This]
     [1] => [test]
     [2] => [eat]
     [3] => [shorts]
)
Copier après la connexion

Capturer le texte à l'intérieur :

Vous pouvez également souhaiter extraire le texte sans les crochets. Cela nécessite une expression régulière modifiée :

$text = '[This] is a [test] string, [eat] my [shorts].';
preg_match_all("/\[([^\]]*)\]/", $text, $matches);
Copier après la connexion

Dans cette expression régulière, (3*) capture n'importe quel caractère entre crochets, supprimant efficacement les crochets de la sortie. Vous obtiendrez :

Array (
     [0] => This
     [1] => test
     [2] => eat
     [3] => shorts
)
Copier après la connexion

N'oubliez pas que cette expression régulière suppose que les crochets ne sont pas imbriqués dans le texte.


  1. ]
  2. ]
  3. ]

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal