Utilisation de la fonction prég_match en php

Utilisation de la fonction prég_match en php

L'expression régulière est un modèle particulier qui peut être utilisé pour faire correspondre, rechercher et remplacer une chaîne particulière dans les données de texte. C'est une caractéristique puissante de tout langage de programmation. Il est principalement utilisé pour effectuer différents types de validations de formulaire, tels que la validation des e-mails, la vérification du format du téléphone, la validation des champs de nom d'utilisateur et de mot de passe du formulaire de connexion, etc. Tout contenu particulier du texte peut être recherché et remplacé à l'aide d'un modèle d'expression régulière. Il est également appelé regex ou regexp. Différents types de symboles sont utilisés pour définir le motif regex.

De nombreuses fonctions intégrées existent en PHP pour l'expression régulière. La fonction preg_match () est l'une d'entre elles. Cette fonction est utilisée pour correspondre à un modèle particulier dans les données de chaîne. La façon dont la fonction preg_match () peut être utilisée dans PHP pour effectuer diverses tâches est expliquée dans ce tutoriel.

Syntaxe:

Int ou false preg_match (String $ modèle, chaîne $ sujet [, array & $ correspond = null [, int $ flags = 0 [, int $ offset = 0]]))

Cette fonction peut prendre cinq arguments. Le premier argument, $ motif, est obligatoire, qui définit le modèle de correspondance. Le deuxième argument, $ Sujet, est obligatoire et contient les données de chaîne dans lesquelles le modèle sera appliqué. Le troisième argument, $ matchs, est facultatif et il renvoie un tableau basé sur le match. Le quatrième argument, $ drapeaux, est facultatif, qui contient différents types de valeurs de drapeau en fonction de la correspondance. Le cinquième argument, $ offset, est facultatif et peut être utilisé pour définir la position de départ de la recherche.

Exemple 1: Faites correspondre le motif d'une manière sensible à la casse et insensible à la casse

L'exemple suivant montre l'utilisation de la fonction preg_match () pour correspondre à la chaîne d'une manière sensible à la casse et insensible à la casse. Créer un fichier PHP avec le script suivant.

Ici, trois modèles sont utilisés pour postuler dans trois fonctions preg_match (). Le premier motif, '/Comme/', est utilisé pour faire correspondre la chaîne de manière sensible au cas. Le deuxième motif, '/comme/', est utilisé pour faire correspondre la chaîne de manière sensible au cas. Le troisième modèle, 'Comme je', est utilisé pour faire correspondre la chaîne de manière insensible au cas. search_pattern () La fonction est définie dans le script pour utiliser la fonction preg_match () pour la correspondance, et il imprime le message en fonction de la valeur renvoyée de cette fonction.

// définir le texte
$ text = "j'aime php. J'aime aussi javascript."
// définir trois types de motifs
$ Pattern1 = '/ like /';
$ Pattern2 = '/ like /';
$ Pattern3 = '/ like / i';
// Définissez la fonction pour rechercher le motif dans le texte
fonction search_pattern ($ motif, $ string)

if (preg_match ($ motif, $ string))
Echo "Résultat de la recherche: La correspondance est trouvée pour le modèle de motif - $
"
autre
Echo "Résultat de la recherche: La correspondance n'est pas trouvée pour le modèle de motif - $
"

// imprime le texte d'origine
Echo "Le texte d'origine est: $ texte
"
// appelle la fonction trois fois pour trois modèles
search_pattern ($ Pattern1, $ text);
search_pattern ($ Pattern2, $ text);
search_pattern ($ Pattern3, $ text);
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur. La première ligne montre le texte où les modèles ont été recherchés. La deuxième ligne montre la sortie du premier motif. La troisième ligne montre la sortie du deuxième motif. La quatrième ligne montre la sortie du troisième motif.

Exemple 2: valider l'URL

L'exemple suivant montre la façon de valider l'adresse URL à l'aide de la fonction preg_match (). Créer un fichier PHP avec le script suivant.

Une valeur URL est attribuée dans la variable $ URL pour tester. '@ ^ (?: https: //)?([^ /] +) @ i 'chaîne est utilisée comme modèle dans la fonction preg_match () pour vérifier si l'adresse URL est valide ou non. S'il est valide, le nom d'hôte et le nom de domaine seront imprimés, sinon, le message d'erreur sera imprimé.

// définir l'URL
$ url = "https: // www.linuxhint.com ";
// Définissez le schéma de validation de l'URL
$ motif = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Vérifiez que l'URL est valide ou non
if (preg_match ($ motif, $ url, $ correspond1)))

// imprime le message de réussite
écho "L'URL est valide.
"
// imprime le tableau qui contient les valeurs de correspondance
écho "Les valeurs du tableau sont:";
print_r ($ correspond1);
// Récupérer et imprimer la valeur de l'hôte
$ host = $ correspond1 [1];
écho "
Le nom d'hôte est: $ hôte ";
// Recherchez le nom de domaine à partir de la valeur de l'hôte
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ correspond2);
écho "
Le nom de domaine est: $ correspond2 [0] ";

autre

// imprime le message d'erreur
Echo "URL non valide."

?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur. L'URL fournie dans le script est valide. Ainsi, la sortie montre les valeurs des $ correspond, le nom d'hôte de l'URL et le nom de domaine de l'URL.

Exemple 3: Modèle de recherche avec indicateur et valeurs de décalage

L'exemple suivant montre les utilisations de l'indicateur et des valeurs de décalage dans la fonction preg_match (). Créer un fichier PHP avec le script suivant.

Trois modèles sont utilisés dans le script pour trois types de correspondance. Dans la première fonction preg_match (), '/ (bangla) (Desh) /' est utilisée comme modèle et la valeur du drapeau, preg_offset_capture est utilisé. Les valeurs du $ matchs La variable imprimera en fonction de la sortie de la première fonction preg_match (). Dans la deuxième fonction preg_match (), '/ (bangla) (glad) * (Desh) / i', est utilisé comme modèle et la valeur de l'indicateur, preg_unmatched_as_null est utilisé. Si une partie du modèle ne correspond pas, une valeur nulle sera stockée dans le tableau. Les valeurs du $ matchs La variable imprimera en fonction de la sortie de la deuxième fonction preg_match (). Dans la troisième fonction preg_match (), '/ glad /' est utilisée comme modèle, la valeur de l'indicateur, preg_offset_capture est utilisée et 3 est utilisée comme valeur de décalage. Les valeurs du $ matchs La variable imprimera en fonction de la sortie de la troisième fonction preg_match ().

// définir la valeur du texte
$ text = "Bangladesh";
// définir trois types de modèles
$ Pattern1 = '/ (bangla) (Desh) / i';
$ Pattern2 = '/ (bangla) (Glad) * (Desh) / i';
$ Pattern3 = '/ Glad /';
// Utilisation du drapeau prég_offset_capture
preg_match ($ Pattern1, $ text, $ correspond, preg_offset_capture);
écho "
"
print_r ($ correspond);
écho "

"
// Utilisation du drapeau prég_unmatched_as_null
preg_match ($ Pattern2, $ text, $ correspond, preg_unmatched_as_null);
écho "
"
print_r ($ correspond);
écho "

"
// en utilisant l'indicateur prég_offset_capture et la valeur de décalage
preg_match ($ Pattern3, $ text, $ correspond, preg_offset_capture, 3);
écho "
"
print_r ($ correspond);
écho "
"
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur.

Conclusion

Les utilisations de la fonction preg_match () ont été expliquées dans ce tutoriel en utilisant plusieurs exemples. Les utilisations de différents arguments de cette fonction ont également été montrées ici. Les lecteurs pourront utiliser cette fonction correctement dans leur script après avoir lu ce tutoriel.