Codeschnipsel
Reguläre Ausdrücke(RegEx) Tutorial
Hattet ihr auch schon das Problem, dass ihr einen bestimmten logischen Textteil aus einem großen
Text herausfiltern musstet und ggf. ersetzten und versteht die logik von preg_match / preg_replace / usw. nicht?
Ich erkläre es euch ganz einfach.
Die Zeichen
[quote]
. entspricht einem beliebigen Zeichen ( also Buchstaben,Zahlen,sonderzeichen,bindestriche,usw.).
+ entspricht anzahl >= 1
.+ entspricht mehreren beliebigen Zeichen
* entspricht anzahl >= 0
.* entspricht kein oder mehrere beliebigen Zeichen
? entspricht einem Zeichen
.? entspricht kein oder ein beliebiges Zeichen
| entspricht der OR bzw. ODER Verknüpfung
^ entspricht zweierlei: einmal der NOT bzw. NICHT Verknüpfung(aber nur in der [] klammer) und anderesmal, dass das folgende zeichen am anfang stehen muss.
alle oben genannten zeichen müssen als echte zeichen mit dem \ maskiert werden, also z.B. \. entspricht dann dem .
\w entspricht einem Buchstabe
\w+ entsprcht mehreren (oder einem) Buchstaben
\d entspricht einer Zahl
\d+ entspricht mehreren (oder einer) Zahlen
() entspricht einer Gruppe, wird also gespeichert. Die Erste Gruppe kann nachher bei preg_replace im replacement als $1 angegeben werden, die zweite als $2 usw.
(\w+) entspricht mehreren gespeicherten Buchstaben
[] entspricht einem Bereich
[a-z] entspricht den kleinen Buchstaben a bis z
[A-Z] entspricht den grossen Buchstaben A bis Z
/ oder # müssen an anfang und ende!
[/quote]
Alle Zeichen, die hier nicht aufgeführt sind, kann man einfach so in den pattern reinschreiben
Beispiele
Gültigkeit einer Email
|
AUSGABE: [email protected]
BBCodes
a)
|
AUSGABE: fetter Text
b)
|
AUSGABE: [url=http://www.google.de]Link
[color=red]
ACHTUNG!: SÄMTLICHE BEISPIELE SOLLTEN noch gegen Design-Zerstörer geschützt werden...[/color]
http://www.regex-tester.de/regex_glossar.html
Erweiterungen folgen bei Bedarf noch
Danke für eure Aufmerksamkeit, und bei Fragen einfach melden 😛
Posten in anderen Foren oder auf der eigenen Website sind okay, solange ich genannt werde.
Änderungen unerwünscht 😀
EDIT1: tipps von B.C. implementiert :bier:
Kommentare
Autor spooooongq