Dieses Mal werde ich Ihnen eine detaillierte Erklärung der effizienten Greedy-, Non-Greedy- und Backtracking-Funktionen der Verwendung von Regularität in PHP (mit Code) geben. Hinweise zur Verwendung von Regularität in der Effizienz-Greedy-, Non-Greedy- und Backtracking-Funktion in PHP Was sind das? Hier sind tatsächliche Fälle.
Lassen Sie uns zunächst etwas über die Gier von regulären Ausdrücken lernen und was ist Nicht-Gier? Oder was ist ein Matching-Prioritätsquantifizierer und was ist ein Ignorieren des Prioritätsquantifizierers?
Okay, ich weiß nicht, was das Konzept ist, also geben wir ein Beispiel.
Ein Student wollte die Inhalte zwischen ihnen filtern. So schrieb er die regulären Regeln und Verfahren.
$str = preg_replace('%<script>.+?</script>%i','',$str);//非贪婪
Es scheint, als wäre daran nichts auszusetzen, aber in Wirklichkeit ist es nicht so. Wenn
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>';
, dann ist nach dem oben beschriebenen Verfahren das Ergebnis
$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>
, das immer noch nicht den gewünschten Effekt erzielen kann. Das Obige ist Nicht-Gier, und manche werden Faulheit genannt. Das Zeichen für Nichtgierigkeit ist die Menge Metazeichen gefolgt von ?, wie z. B. +?, *?, ?? (spezieller, ich werde in zukünftigen Blogs darüber schreiben) usw. Das bedeutet nicht gierig. Wenn Sie nicht schreiben?, bedeutet es gierig. Zum Beispiel:
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>'; $str = preg_replace('%<script>.+</script>%i','',$str);//非贪婪 print_r($str); //$str 输出为Neueste Artikel des Autors
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:51Aktuelle AusgabenBei der Verwendung von opentbs zum Generieren von ODT-Dateien sind Probleme aufgetreten: Werte desselben Schlüssels werden in derselben Zeile statt in separaten Spalten angezeigt. Ich verwende eine Bibliothek namens OpenTbs, um ODT mit PHP zu erstellen. Ich verwende sie...Aus 2024-04-06 20:18:1801483verwandte ThemenMehr>
- So öffnen Sie eine PHP-Datei
- So entfernen Sie die ersten paar Elemente eines Arrays in PHP
- Was tun, wenn die PHP-Deserialisierung fehlschlägt?
- So verbinden Sie PHP mit der MSSQL-Datenbank
- So verbinden Sie PHP mit der MSSQL-Datenbank
- So laden Sie HTML hoch
- So lösen Sie verstümmelte Zeichen in PHP
- So öffnen Sie PHP-Dateien auf einem Mobiltelefon