Konvertierung von Ereg nach Preg in PHP
In PHP sind reguläre POSIX-Ausdrücke (ereg) seit Version 5.3.0 veraltet. Um den Übergang zu erleichtern, ist es wichtig zu verstehen, wie man alte Ereg-Ausdrücke in PCRE (Perl-kompatible reguläre Ausdrücke) (preg) konvertiert.
Syntaxunterschiede
Die primäre Syntax Der Unterschied besteht in der Hinzufügung von Trennzeichen in preg. Beispielsweise sollte der folgende Ereg-Ausdruck:
eregi('^hello world');
in einen preg_match-Ausdruck wie folgt umgewandelt werden:
preg_match('/^hello world/', $str);
Die Trennzeichen können verschiedene nicht alphanumerische Zeichen sein, wobei übliche Optionen sind ~, / und #.
Übereinstimmung Klammern
Zusätzlich können Sie passende Klammern als Trennzeichen verwenden:
preg_match('[^hello]', $str); preg_match('(^hello)', $str); preg_match('{^hello}', $str);
Escape-Trennzeichen
Wenn Ihr Trennzeichen im regulären Format erscheint Ausdruck, maskieren Sie ihn mit einem Backslash:
eregi('^/hello', $str); preg_match('/^\/hello/', $str);
Um alle Trennzeichen zu maskieren und Reservierte Zeichen, verwenden Sie preg_quote:
$expr = preg_quote('/hello', '/'); preg_match('/^'.$expr.'/', $str);
Modifikatoren
PCRE unterstützt Modifikatoren für verschiedene Funktionen. Beispielsweise ersetzt der Groß-/Kleinschreibungsmodifikator i die eregi-Funktion:
eregi('^hello', 'HELLO'); preg_match('/^hello/i', 'HELLO');
Beispielkonvertierung
In Ihrem bereitgestellten Beispiel ist ein regulärer Ausdruck nicht erforderlich. Stattdessen können Sie die folgende PHP-Funktion verwenden:
stripos($str, 'hello world') === 0
Das obige ist der detaillierte Inhalt vonWie konvertiere ich reguläre Ereg-Ausdrücke in PHP in Preg?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!