Maison développement back-end Problème PHP Parlons en profondeur des expressions régulières php

Parlons en profondeur des expressions régulières php

Mar 29, 2023 am 11:32 AM

Texte :

L'expression régulière est un outil utilisé pour faire correspondre des chaînes. Les expressions régulières peuvent être utilisées pour valider la saisie, rechercher du texte de remplacement ou extraire les informations requises. Les expressions régulières en PHP sont très utiles lorsque l'on travaille avec des chaînes.

Cependant, certains cas particuliers nécessitent une attention particulière lorsqu'il s'agit de noms de fichiers ou d'URL. Si vous utilisez la fonction preg_match commune de PHP pour faire correspondre les noms de fichiers se terminant par .php, vous risquez de rencontrer des problèmes. Par exemple, supposons que vous souhaitiez faire correspondre un fichier nommé "exemple.php" :

$file = 'example.php';
if (preg_match('/\.php$/', $file)) {
    echo "File is a PHP file";
} else {
    echo "File is not a PHP file";
}
Copier après la connexion

Exécutez le code ci-dessus, vous constaterez que "Le fichier est un fichier PHP" est affiché. Cependant, si vous essayez de faire correspondre un fichier nommé "exemple2php" :

$file = 'example2php';
if (preg_match('/\.php$/', $file)) {
    echo "File is a PHP file";
} else {
    echo "File is not a PHP file";
}
Copier après la connexion

vous constaterez que le résultat est "Le fichier est un fichier PHP", ce qui est en fait un résultat incorrect. En effet, dans le deuxième exemple, la chaîne « exemple2php » se termine également par la chaîne « .php ». Pour éviter cela, nous avons besoin d’expressions régulières plus précises.

Une meilleure solution consiste à faire correspondre uniquement les mots complets se terminant par .php. Pour y parvenir, nous pouvons utiliser les limites de mots (b), qui peuvent être utilisées pour faire correspondre le début ou la fin d'un mot. De cette façon, notre code peut être modifié en :

$file = 'example.php';
if (preg_match('/\.php\b/', $file)) {
    echo "File is a PHP file";
} else {
    echo "File is not a PHP file";
}
Copier après la connexion

Exécutez le code ci-dessus et vous constaterez que le résultat est correct. Si vous réessayez en utilisant le test de chaîne de "example2php", vous constaterez que le résultat sera "Le fichier n'est pas un fichier PHP".

Vous savez maintenant comment faire correspondre correctement les chaînes se terminant par .php, mais ce n'est pas tout ce à quoi il faut prêter attention. Parfois, vous devrez peut-être faire correspondre une chaîne telle que « example.class.php » ou « example.php5 ». Pour résoudre ces cas particuliers, on peut utiliser des groupes dans les expressions régulières. Par exemple, si vous souhaitez faire correspondre les noms de fichiers se terminant par ".php", ".php4", ".php5" ou ".phtml", vous pouvez écrire comme ceci :

$file = 'example.php5';
if (preg_match('/\.(php|php4|php5|phtml)$/', $file)) {
    echo "File is a PHP file";
} else {
    echo "File is not a PHP file";
}
Copier après la connexion

Dans le code ci-dessus, nous avons utilisé le groupe (php |php4|php5|phtml), ce qui signifie que nous n'avons besoin que d'écrire des groupes dans l'expression régulière pour faire correspondre plusieurs chaînes. Nous avons également utilisé le signe $, ce qui signifie qu'il doit se terminer par la chaîne correspondant.

En conclusion, les expressions régulières sont non seulement très utiles en PHP, elles constituent également un outil important pour travailler avec des chaînes dans de nombreux autres langages de programmation. Lorsque vous travaillez avec des noms de fichiers ou des URL, portez une attention particulière aux détails et essayez d'utiliser des groupes et des limites pour vous assurer que votre expression régulière correspond à ce dont vous avez besoin. Si vous débutez avec les expressions régulières, nous vous recommandons d'en savoir plus sur les expressions régulières pour comprendre leur fonctionnement et leur syntaxe.

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Dead Rails - Comment apprivoiser les loups
4 Il y a quelques semaines By DDD
Niveaux de force pour chaque ennemi et monstre de R.E.P.O.
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
<🎜>: Grow A Garden - Guide de mutation complet
2 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1662
14
Tutoriel PHP
1261
29
Tutoriel C#
1234
24