Forum und email

Reguläre Ausdrücke Funktionen (POSIX erweitert)

Einführung

Tipp

Bei Verwendung der PCRE Funktionen unterstützt PHP auch Reguläre Ausdrücke mit einer zu Perl kompatiblen Syntax. Diese Funktionen unterstützen non-greedy Matching, Assertions, bedingte Subpatterns und viele andere Merkmale, die von der POSIX-erweiterten Syntax regulärer Ausdrücke nicht unterstützt werden.

Warnung

Diese Funktionen regulärer Ausdrücke sind im Gegensatz zu den PCRE Funktionen nicht binary-safe.

Reguläre Ausdrücke werden für komplexe Manipulationen an Zeichenketten verwendet. PHP verwendet durch POSIX 1003.2 definierte POSIX erweiterte reguläre Ausdrücke. Eine vollständige Beschreibung der POSIX regulären Ausdrücke finden Sie im Regex-Verzeichnis der PHP-Distribution in den » Regex man pages. Da sie im manpage-Fomat vorliegt, sollten Sie einen Befehl der Art man /usr/local/src/regex/regex.7 verwenden, um sie zu lesen.

Anforderungen

Diese Erweiterung benötigt keine externen Bibliotheken.

Installation

Warnung

Sie sollten TYPE nur ändern, wenn Sie wissen, was Sie tun.

Um die regexp-Unterstützung zu aktivieren, müssen Sie PHP mit der Option --with-regex[=TYPE] übersetzen. TYPE kann entweder system, apache oder php sein. Standardmäßig wird php verwendet.

Die Windowsversion von PHP enthält diese Erweiterung. Um diese Funktionen zu verwenden, müssen Sie keine zusätzlichen Erweiterungen aktivieren.

Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini.

Resource Typen

Diese Erweiterung definiert keine Resource-Typen.

Vordefinierte Konstanten

Diese Erweiterung definiert keine Konstanten.

Beispiele

Example#1 Beispiele regulärer Ausdrücke

<?php
// Gibt true zurück, falls "abc" irgendwo in $string gefunden wird.
ereg("abc"$string);

// Gibt true zurück, falls "abc" am Anfang von $string gefunden wird.
ereg("^abc"$string);

// Gibt true zurück, falls "abc" am Ende von $string gefunden wird.
ereg("abc$"$string);

// Gibt true zurück, falls es sich beim Client Browser um Netscape 2,
// 3 oder MSIE 3 handelt.
eregi("(ozilla.[23]|MSIE.3)"$_SERVER["HTTP_USER_AGENT"]);

// Setzt drei Wörter, die durch Leerzeichen getrennt sind, in
// $regs[1], $regs[2] und $regs[3] ein.
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)"$string$regs);

// Setzt ein <br /> Tag vor $string.
$string ereg_replace("^""<br />"$string);

// Setzt ein <br /> Tag hinter $string.
$string ereg_replace("$""<br />"$string);

// Entfernt alle Zeilenumbrüche aus $string.
$string ereg_replace("\n"""$string);
?>

Siehe auch

Schauen Sie sich bezüglich regulärer Ausdrücke mit einer zu Perl kompatiblen Syntax die PCRE Funktionen an. fnmatch() bietet die Möglichkeit der Suche nach Übereinstimmungen mit Wildcard-Suchmustern im einfacheren Shell-Stil.

Inhaltsverzeichnis

  • ereg_replace — Ersetzt einen regulären Ausdruck
  • ereg — Sucht Übereinstimmungen mit einem regulären Ausdruck
  • eregi_replace — Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
  • eregi — Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
  • split — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks in ein Array
  • spliti — Zerlegt eine Zeichenkette anhand eines regulären Ausdrucks ohne Berücksichtigung von Groß-/Kleinschreibung in ein Array
  • sql_regcase — Erstellt einen regulären Ausdruck für eine Suche nach Übereinstimmungen ohne Berücksichtigung von Groß-/Kleinschreibung