| |
| * Link führt ins Internet |
|
| |
Neben Array- und Stringfunktionen nehmen die regulären Ausdrücke (engl. regular expressions) und ihre Funktionen, in PHP einen grossen Stellenwert ein. Mit Hilfe der regulären Ausdrücke lassen sich Suchmuster für Zeichenketten realisieren, welche sowohl für einfache als auch komplexe Suchfunktionen eingesetzt werden können. Sie sind sogar in der Lage unter Verwendung regulärer Ausdrücke, Teile einer Zeichenkette zu ersetzen, zu löschen oder zu ändern. Bei der Entwicklung von Webanwendungen müssen oft grosse Mengen von dynamischen Textdaten verarbeitet werden. Reguläre Ausdrücke sind besonders wertvoll für jene Entwickler, die umfangreiche und komplexe Anwendungen schreiben.
Reguläre Ausdrücke sind allerdings anfangs sehr gewöhnungsbedürftig. Der Hauptgrund, wieso in einigen PHP-Skripten merkwürdige, kryptisch anmutende Zeichenfolgen vorkommen, ist der Einsatz von regulären Ausdrücken.
Hier zwei Beispiele, denen Sie im Zusammenhang mit regulären Ausdrücken sicherlich begegnen werden, wie z.B. der E-Mail Validation und der Überprüfung eines festgelegten Formats.
Beispiel - E-Mail Validation
<?php
// Regulärer Ausdruck
$reg_ausdruck = "^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$";
// Teststring
$test_email = "matthiask@atomicscript.de";
// Ausgabe - E-Mail - OK!
if (ereg($reg_ausdruck, $test_email)) {
echo "E-Mail - OK!";
} else {
echo "E-Mail - Fehlerhaft!";
}
?>
|
Hier einige Schreibweisen, die zugelassen und nicht zugelassen werden.
Zugelassen
ma_tthiask@atomic.script.de
ma.tt-hias-k@ato-mic-script.info
matthias1k@123.de
Nicht zugelassen
matthiask@atomicl_script.de
ma&tthiask@atomiscript.de1
.matthiask@atomicr#script.de
| Hinweis: In diesem Beispiel kam die ereg()-Funktion zum Einsatz, welche zur Verarbeitung von regulären Ausdrücken dient. Sie werden weiter unten in diesem Abschnitt mehr über die Funktion erfahren. |
Beispiel - Schreibweise von HTML hexadezimal Farbwerte
<?php
// Regulärer Ausdruck
$reg_ausdruck = "^#?([a-f]|[A-F]|[0-9]){3}(([a-f]|[A-F]|[0-9]){3})?$";
// Teststring
$test_farbe = "#ff0000";
// Ausgabe - Farbwert - OK!
if (ereg($reg_ausdruck, $test_farbe)) {
echo "Farbwert - OK!";
} else {
echo "Farbwert - Fehlerhaft!";
}
?>
|
Hier einige Schreibweisen, die zugelassen und nicht zugelassen werden.
Zugelassen
#00ccff
#099
ff00ff
Nicht zugelassen
red
0x00ff00
#ffcc0
Mit Hilfe der regulären Ausdrücken können Sie, zusätzlich effizient und flexibel nach Zeichenketten suchen und diese ersetzen. Bei bisherigen Suchen- und Ersetzen-Vorgängen, musste der genaue Text eingegeben werden, nach dem gesucht werden soll. Dadurch wird die Suche nach dynamischen Daten recht aufwendig, wenn nicht gar unmöglich.
Sollten Sie einen regulären Ausdruck einsetzen wollen, brauchen Sie zunächst etwas, das Sie durchsuchen wollen. Im einfachsten Fall kann es sich um die in einer Variablen enthaltenen Zeichenkette handeln, oder um Werte, die in einem Array gespeichert sind. Natürlich kann es sich bei der zu durchsuchenden Zeichenkette auch um Datensätze einer Datenbank oder um Zeilen einer Datei handeln.
Zusammenfassung
Fassen wir unsere bisherigen Kenntnisse über reguläre Ausdrücke zusammen:
. Ein regulärer Ausdruck ist eine Folge oder ein Muster von Zeichen, welches beim Suchen oder Ersetzen mit einer Zeichenkette verglichen wird.
Arbeitsvorgänge
. Es wird entweder eine Übereinstimmung festgestellt oder keine.
. Es ist auch möglich, ein übereinstimmendes Zeichenmuster festzustellen und es durch eine andere Zeichenkette zu ersetzen.
Reguläre Ausdrücke für einzelne Zeichen
Reguläre Ausdrücke für Zeichenketten
Variablen in regulären Ausdrücken
Reguläre Ausdrücke mit Alternativen
Rangfolge und Klammerung in regulären Ausdrücken
Funktionen für reguläre Ausdrücke
Ergänzungen zu reguläre Ausdrücke
Vertiefung zu reguläre Ausdrücke
Hinweise zur Optimierung
Einsatz der PCRE-Funktionen
Einsatz der Funktionen im POSIX-Stil
Programme zu reguläre Ausdrücke
|
|
|
|
|
|
|