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 输出为Beliebte TutorialsMehr>
php入门教程之一周学会PHP4257379 JAVA 初级入门视频教程2475636 小甲鱼零基础入门学习Python视频教程503544 PHP 零基础入门教程844090Neueste DownloadsMehr>