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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Quel est le but de mysqli_query () et mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

L'article traite des fonctions MySQLI_Query () et MySQLI_Fetch_assoc () en PHP pour les interactions de la base de données MySQL. Il explique leurs rôles, leurs différences et fournit un exemple pratique de leur utilisation. L'argument principal se concentre sur les avantages de l'USIN

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Comment récupérer les données d'une base de données à l'aide de PHP? Comment récupérer les données d'une base de données à l'aide de PHP? Mar 20, 2025 pm 04:57 PM

L'article discute de la récupération des données des bases de données à l'aide de PHP, couvrant les étapes, les mesures de sécurité, les techniques d'optimisation et les erreurs communes avec des solutions. COMMANDE CHAPITRE: 159

Quel est le but des déclarations préparées en PHP? Quel est le but des déclarations préparées en PHP? Mar 20, 2025 pm 04:47 PM

Les déclarations préparées dans PHP améliorent la sécurité et l'efficacité de la base de données en empêchant l'injection SQL et en améliorant les performances de la requête par compilation et réutilisation. Compilation de caractéristiques: 159

See all articles