Escape-Zeichen für Regex-Muster in PHP
In PHP bietet die Funktion preg_quote() eine Möglichkeit, Zeichen innerhalb eines regulären Ausdrucks zu maskieren ( Regex-Muster, die für die Regex-Engine eine besondere Bedeutung haben. Dadurch wird verhindert, dass diese Zeichen als Teil des Musters interpretiert werden, sodass der Ausdruck innerhalb eines anderen Regex-Musters verwendet werden kann, ohne dass es zu Konflikten kommt.
Ähnlich wie die Funktion Regex.Escape() in C# fügt preg_quote() ein hinzu Backslash() vor jedem Zeichen in der Eingabezeichenfolge, das Teil der Regex-Syntax ist. Zu diesen Sonderzeichen gehören:
Standardmäßig maskiert preg_quote() nicht das Trennzeichen, das zum Einschließen des Regex-Musters verwendet wird. Um sicherzustellen, dass das Trennzeichen auch maskiert wird, geben Sie es als zweiten Parameter der Funktion an.
Beispiel:
Angenommen, wir haben eine URL, $url = 'http ://stackoverflow.com/questions?sort=newest‘, den wir in einer von umgebenden Zeichenfolge finden möchten Leerzeichen:
1 2 3 4 5 6 7 8 9 10 |
|
In diesem Beispiel maskiert preg_quote() den Punkt (.), das Fragezeichen (?) und das Gleichheitszeichen (=) in der URL sowie alle Schrägstriche. Infolgedessen kann das von uns erstellte Regex-Muster die URL erfolgreich in der Heuhaufen-Zeichenfolge finden.
Das obige ist der detaillierte Inhalt vonWie kann die Funktion „preg_quote()' von PHP Zeichen für eine sichere Verwendung von Regex-Mustern maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!