Lassen Sie uns zunächst verstehen, was von regulären Ausdrücken gierig ist und was nicht gierig ist. Oder was ist ein Matching-Prioritätsquantifizierer und was ist ein Ignorieren des Prioritätsquantifizierers?
Okay, ich weiß nicht, was das Konzept ist.
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, dass nichts falsch ist, aber tatsächlich ist es nicht so. Wenn
$str = '<script<script>alert(document.cookie)</script>>alert(document.cookie)</script>';
, dann ist das Ergebnis nach dem obigen Verfahren
$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>
Immer noch nicht in der Lage, den gewünschten Effekt zu erzielen. Das Obige ist Nicht-Gier, und manche werden Faulheit genannt. Das Zeichen für Nicht-Gier besteht darin, ? nach dem quantitativen Metazeichen hinzuzufügen, wie z. B. +?, *?, ?? (spezieller, ich werde darüber in einem zukünftigen BLOG schreiben) usw. Das heißt, es 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
1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00 1970-01-01 08:00:00Aktuelle AusgabenSo zeigen Sie die mobile Version von Google Chrome an Hallo Lehrer, wie kann ich Google Chrome in eine mobile Version umwandeln?Aus 2024-04-23 00:22:190112424verwandte ThemenMehr>
- So erstellen Sie einen Softlink
- Methode zur Registrierung eines Google-Kontos
- Einstellungen der Java-Umgebungsvariablen
- Was tun, wenn Chrome keine Plugins laden kann?
- So stellen Sie den Browserverlauf auf dem Computer wieder her
- Ordner unter Linux löschen
- Linux-Switch-Benutzerbefehl
- Ranking der zehn besten digitalen Währungsbörsen