Maison >développement back-end >tutoriel php >preg_match en PHP (Fonction)
La fonction preg_match() du langage de programmation PHP recherche le modèle dans la chaîne, puis la fonction renvoie VRAI uniquement si le modèle existe, sinon la fonction preg_match() renverra FALSE. La fonction Preg_match() fonctionne essentiellement en utilisant certains des paramètres, qui sont très utiles et utiles pour rechercher le modèle de chaîne à l'intérieur des données de chaîne d'entrée/du modèle de chaîne. Le premier paramètre consiste à stocker les modèles de chaînes à rechercher. Le deuxième paramètre consiste à stocker la chaîne d'entrée. Nous utilisons la fonction preg_match() pour rechercher les modèles de chaîne requis dans les données de chaîne. Le paramètre « matches », lorsqu'il est inclus et utilisé avec print, trouvera le contenu de la chaîne correspondante et l'affichera dans la sortie.
PUBLICITÉ Cours populaire dans cette catégorie DEVELOPPEUR PHP - Spécialisation | Série de 8 cours | 3 tests simulésCommencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
Syntaxe :
Int preg_match($pattern, $input, $matches, $flags, $offset)
Explication :
La fonction preg_match() du langage de programmation PHP recherche des modèles de chaînes dans une grande liste de phrases de chaîne ou d'autres données. Il ne renvoie une valeur VRAI que si le modèle de chaîne est trouvé. Sinon, il renvoie une valeur FAUX. La fonction Preg_match() de PHP fonctionne généralement sur la base des cinq paramètres inclus dans la fonction preg_match().
Vous trouverez ci-dessous les paramètres :
1. Paramètre de motif : Il s'agit du paramètre preg_match() de PHP, qui est utilisé pour contenir le modèle pour rechercher la chaîne sous forme de chaîne. Nous désignons le modèle comme une variable en utilisant le symbole « $ » à l'intérieur de la fonction.
2. Paramètre d'entrée : Le paramètre d'entrée, qui se trouve à l'intérieur de la fonction preg_match(), contient la valeur d'entrée de chaîne/valeur d'entrée de chaîne.
3. Paramètre Matches : Le paramètre Matches, qui se trouve à l'intérieur de preg_match(), fournira les résultats de la recherche uniquement si les correspondances existent. Les correspondances signifient que la même chaîne est présente ou non. Le $matches[0] contiendra en fait le texte intégral, qui est le modèle de chaîne avec correspondance complète. $matches[1] va contenir le texte de chaîne qui correspond au premier sous-modèle capturé entre parenthèses, etc.
La plupart du temps, les modèles de chaînes se trouvent dans $matches[0][0], $matches[1][0], $matches[2][0], $matches[3][0] etc. $matches[0][1], $matches[1][1], $matches[2][1] et $matches[3][1], vous trouverez le NULL, ce qui signifie 0 comme modèle de chaîne valeur car il n'a rien stocké dans le tableau matches.
4. Paramètre Flags : Le paramètre flags peut contenir d'autres indicateurs, qui sont très utiles dans la gestion de la recherche de modèles de chaîne.
5. Paramètre Offset : Le paramètre offset de la fonction preg_match() est très utile pour rechercher depuis le tout début de la chaîne qui est envoyée en entrée. Ce paramètre de décalage est facultatif et n’est pas nécessaire à tout moment. Vous pouvez l'utiliser en fonction des besoins. Le paramètre « offset » spécifie la position de départ de la recherche de chaîne.
6. Valeur de retour de preg_match() : La fonction preg_match() de PHP renverra toujours TRUE uniquement si le modèle de chaîne existe. Sinon, la fonction preg_match() renverra FALSE.
Vous trouverez ci-dessous les exemples :
Ceci illustre preg_match() utilisant l'indicateur PREG_OFFSET_CAPTURE. « $pavan1 » est créé et stocké sous forme de valeur de chaîne « PavanKumarSake » et attribué à « $pavan1 ». Ensuite, preg_match() est déclaré avec des paramètres.
‘/(Pavan)(Kumar)(Sake)/’ is the pattern parameter that holds the pattern, which is to search in the input string/string value. Next, we insert the variable “$pavan1” as an input variable. This variable usually contains the string element that we need to search to determine if the string variable’s value exists within it or not. Next, we place the variable “$matches1” after the comma following the variable “$pavan1”. This is helpful to check at what position the patterns are available inside the input string ”PavanKumarSake”.
In the above preg_match() working explanation, we said that what $matches[0] and $matches[1] will return. Likewise, in the below example, $matches[1] will provide the result that is/are fully matched with the pattern/patterns. So the output of array[0] is “PavanKumarSake” because it contains the full string/text.
Then array[1][0] will be “Pavan” then array[2][0] is “Kumar” and array[3][0] is “Sake” based on example1’s output. Then the “print_r($matches1)” is to print what matches are available inside the input string and also shows at what position the string pattern/patterns are available inside the string pattern. Print_r will show the output of the above preg_match() program of PHP Programming Language.
Code:
<?php $pavan1 = 'PavanKumarSake'; preg_match('/(Pavan)(Kumar)(Sake)/', $pavan1, $matches1, PREG_OFFSET_CAPTURE); print_r($matches1); ?>
Output:
In the example below, we assign the string value “www.profitloops.com” to the variable $pro_url. To check if the word “profit” is present in the variable $pro_url, you can use an if statement with the preg_match function. If the function returns a non-zero value, indicating a match, the if condition will consider it as true.
You can then execute the desired statement. The statement “The URL www.profitloops.com contains profit” will be printed if the word “profit” is present in the URL. The browser will display the output below the output section. If the word “profit” is not present in www.profitloops.com, then statements that are in the ELSE condition will be printed.
We use another IF statement to check if the word “loops” appears in the word located at www.profitloops.com. If the condition is a fault, then the ELSE condition’s statements will be printed. But here, the IF conditions are TRUE, so the statements that are inside of the IF will be printed.
Code:
<?php $pro_url = "www.profitloops.com"; if (preg_match("/profit/", $pro_url)) { echo "the url $pro_url contains profit , "; } else { echo "the url $pro_url does not contain profit , "; } if (preg_match("/loops/", $pro_url)){ echo "the url $pro_url contains loops , "; } else{ echo "the url $pro_url does not contain loops , "; } ?>
Output:
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!