Cette fois, je vais vous apporter une explication détaillée de l'efficacité gourmande, non gourmande et du backtracking de l'utilisation de la régularité en PHP (avec code Remarques sur l'utilisation de la régularité en efficacité gourmande, non gourmande et du backtracking en PHP). De quoi s’agit-il ? Voici des cas concrets.
Tout d'abord, apprenons ce qu'est la gourmandise des expressions régulières et qu'est-ce que la non-gourmandise ? Ou qu'est-ce qu'un quantificateur de priorité correspondant et qu'est-ce qu'un quantificateur de priorité ignorant ?
D’accord, je ne sais pas quel est le concept. Donnons un exemple.
Un étudiant a voulu filtrer le contenu entre eux. C'est ainsi qu'il a rédigé les règles et procédures habituelles.
$str = preg_replace('%<script>.+?</script>%i','',$str);//非贪婪
Il semble qu'il n'y ait rien de mal à cela, mais en fait ce n'est pas le cas. Si
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>';
, alors après la procédure ci-dessus, le résultat est
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>'; $str = preg_replace('%<script>.+?</script>%i','',$str);//非贪婪 print_r($str); //$str 输出为 <script>alert(document.cookie)</script>
qui ne peut toujours pas obtenir l'effet souhaité. Ce qui précède n'est pas de la cupidité, et certains sont appelés paresse. Le signe du non gourmand est la quantité métacaractère suivi de ?, comme +?, *?, ?? (plus spécial, j'en parlerai dans les prochains blogs), etc. Autrement dit, cela signifie non gourmand. Si vous n'écrivez pas ?, cela signifie gourmand. Par exemple,
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>'; $str = preg_replace('%<script>.+</script>%i','',$str);//非贪婪 print_r($str); //$str 输出为Derniers articles par auteur
2018-06-11 11:57:34 2018-06-15 15:55:18 2018-06-15 15:49:00 2018-06-15 15:46:15 2018-06-15 15:42:38 2018-06-15 15:40:34 2018-06-15 15:39:32 2018-06-15 15:37:14 2018-06-15 15:34:21 2018-06-15 15:22:51Derniers numérosProblèmes rencontrés lors de l'utilisation d'opentbs pour générer des fichiers odt : les valeurs d'une même clé sont affichées dans la même ligne au lieu de colonnes séparées. J'utilise une bibliothèque appelée OpenTbs pour créer odt en utilisant PHP, je l'utilise c...Depuis 2024-04-06 20:18:1801483Rubriques connexesPlus>
- Comment ouvrir le fichier php
- Comment supprimer les premiers éléments d'un tableau en php
- Que faire si la désérialisation php échoue
- Comment connecter PHP à la base de données mssql
- Comment connecter PHP à la base de données mssql
- Comment télécharger du HTML
- Comment résoudre les caractères tronqués en PHP
- Comment ouvrir des fichiers php sur un téléphone mobile