Heim >Backend-Entwicklung >PHP-Tutorial >Wie migriere ich meinen PHP-Code von „ereg' zu „preg' regulären Ausdrücken?

Wie migriere ich meinen PHP-Code von „ereg' zu „preg' regulären Ausdrücken?

Barbara Streisand
Barbara StreisandOriginal
2024-12-26 11:38:10196Durchsuche

How Do I Migrate My PHP Code from `ereg` to `preg` Regular Expressions?

Migration von EReg zu PREG in PHP

Seit PHP 5.3.0 sind reguläre POSIX-Ausdrücke (ereg) veraltet, was die Einführung erforderlich macht von Perl-kompatiblen regulären Ausdrücken (preg). Dieser Übergang erfordert Änderungen an vorhandenen Ereg-Ausdrücken, um die Kompatibilität mit preg_match zu gewährleisten.

Syntaxunterschiede

Die wichtigste syntaktische Änderung besteht im Hinzufügen von Trennzeichen zu den Ausdrücken. Im Gegensatz zu Ereg erfordert Preg Trennzeichen vor und nach dem regulären Ausdruck. Trennzeichen können Zeichen wie ~, / oder # oder sogar passende Klammern (z. B. [], (), {}) sein.

preg_match('/^hello/', $str); // Using '/' as a delimiter
preg_match('[^hello]', $str); // Using square brackets as a delimiter

Escape-Trennzeichen

Wenn das ausgewählte Trennzeichen im regulären Ausdruck vorkommt, maskieren Sie es mit einem Backslash ().

preg_match('/^\/hello/', $str);

Verwendung von preg_quote

Um alle Trennzeichen und reservierten Zeichen umfassend zu maskieren, verwenden Sie preg_quote:

$expr = preg_quote('/hello', '/');
preg_match('/^'.$expr.'/', $str);

Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung

Um einen Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung durchzuführen, verwenden Sie der i-Modifikator:

preg_match('/^hello/i', $str);

Konvertieren des gegebenen Beispiels

Das bereitgestellte Beispiel, eregi('^hello world'), sollte nicht in preg_match konvertiert werden, da es kann mit der Stripos-Funktion vereinfacht werden:

stripos($str, 'hello world') === 0

Das obige ist der detaillierte Inhalt vonWie migriere ich meinen PHP-Code von „ereg' zu „preg' regulären Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn