Maison  >  Article  >  développement back-end  >  Expression régulière PHP : Comment extraire une sous-chaîne avec un début et une fin spécifiques d'une chaîne

Expression régulière PHP : Comment extraire une sous-chaîne avec un début et une fin spécifiques d'une chaîne

WBOY
WBOYoriginal
2023-06-22 09:10:301748parcourir

PHP est un langage de programmation populaire doté de puissantes capacités d'expression régulière. Les expressions régulières sont un puissant outil de traitement de chaînes qui permet d'extraire facilement ce que vous voulez d'une chaîne.

Cet article présentera l'utilisation des expressions régulières PHP, en particulier comment extraire des sous-chaînes avec un début et une fin spécifiques à partir d'une chaîne. Si vous souhaitez apprendre à extraire des sous-chaînes à l'aide d'expressions régulières PHP, cet article vous aidera.

Tout d’abord, passons en revue les bases des expressions régulières. Une expression régulière est une règle de syntaxe qui définit le modèle d'une chaîne. Il peut être utilisé pour rechercher, remplacer et valider du texte.

En PHP, nous utilisons la fonction preg_match() pour rechercher dans une chaîne une sous-chaîne qui correspond à une expression régulière. Cette fonction nécessite trois paramètres : l'expression régulière, la chaîne à rechercher et un tableau de résultats. Si la fonction trouve avec succès une sous-chaîne correspondante, elle stocke le résultat dans le tableau de résultats et renvoie vrai. Sinon, renvoie faux.

Ensuite, voyons comment utiliser des expressions régulières pour extraire des sous-chaînes avec un début et une fin spécifiques à partir d'une chaîne. Prenons l'exemple suivant :

$string = "The quick brown fox jumps over the lazy dog.";

Maintenant, nous voulons extraire de cette chaîne la sous-chaîne qui commence par la lettre "q" et se termine par la lettre "g". Nous pouvons utiliser l'expression régulière suivante pour y parvenir :

$regex = '/q.*g/';

Cette expression régulière signifie qu'elle commence par la lettre "q", suivie de n'importe quel caractère (représenté par .), jusqu'à ce qu'elle se termine par la lettre "g". Maintenant, nous pouvons utiliser la fonction preg_match() pour rechercher cette chaîne :

if (preg_match($regex, $string, $matches)) {
    echo $matches[0];
}

La fonction de ce code est de rechercher dans $string le contenu qui correspond à l'expression régulière $regex, de stocker les résultats dans le tableau $matches et de générer $correspond à [0]. Le résultat de l'opération est :

quick brown fox jumps over the lazy dog

Nous avons réussi à extraire la sous-chaîne commençant par la lettre "q" et se terminant par la lettre "g" de la chaîne !

Regardons un exemple plus complexe. Nous avons maintenant le code source d'une page HTML :

$html = '<div class="content">
            <h1>Welcome to my website</h1>
            <p>I hope you enjoy your stay!</p>
        </div>';

Nous souhaitons extraire le contenu des balises 4a249f0d628e2318394fd9b75b4636b1 En utilisant des expressions régulières, nous pouvons facilement accomplir cette tâche :

$regex = '/<h1>(.*?)</h1>/';

Cette expression régulière signifie rechercher du contenu commençant par 4a249f0d628e2318394fd9b75b4636b1 et se terminant par 473f0a7621bec819994bb5020d29372a. Le .*? indiquent le mode non gourmand), et les parenthèses indiquent que le contenu correspondant est enregistré dans le premier élément du tableau $matches. Ensuite, nous pouvons utiliser la fonction preg_match() pour rechercher ce code source HTML :

if (preg_match($regex, $html, $matches)) {
    echo $matches[1];
}

La fonction de ce code est de rechercher du contenu dans $html qui correspond à l'expression régulière $regex, de stocker les résultats dans le tableau $matches, et afficher le contenu entre la première parenthèse dans le contenu correspondant. Le résultat en cours est :

Welcome to my website

Nous avons réussi à extraire le contenu de la balise 4a249f0d628e2318394fd9b75b4636b1

Dans cet article, nous avons couvert les bases des expressions régulières PHP, en particulier comment utiliser des expressions régulières pour extraire des sous-chaînes avec un début et une fin spécifiques d'une chaîne. Grâce à ces exemples, vous devriez être capable d'utiliser habilement les expressions régulières PHP pour rechercher et extraire les chaînes dont vous avez besoin.

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