preg_replace Hilfe
Sam
- php
0 Sam0 Thoralf Knuth0 Sam
Moin
wo finde ich denn ein Liste aller Zeichen, die ich als pattern in reg_replace verwenden kann? Ich finde sowas nirgendwo, wie soll ich da jemals was zu der Funktion lernen?
Ich habe jetzt die pattern Beschreibung bei PHp gefunden, allerdings gibts die nur auf englisch. Habe mit englisch generell kein Problem, aber da da ziemlich viele spezielle Ausdrücke vorkommen wäre es toll wenn mir jemand einen Link zu einer deutschen Erklärung geben könnte.
Und eine Sache konnte ich nirgendwo richtig erklärt finden. Wodurch wird das Ergebnis der Ersetzung eigentlich definiert? Also ich habe schon \1, \2... oder $1, $2... oder ${1}, ${2}... probiert, das klappt alles. Welches sollte man am besten verwenden?
Gruß, Sam
Hallo Sam,
Ich habe jetzt die pattern Beschreibung bei PHp gefunden, allerdings gibts die nur auf englisch. Habe mit englisch generell kein Problem, aber da da ziemlich viele spezielle Ausdrücke vorkommen wäre es toll wenn mir jemand einen Link zu einer deutschen Erklärung geben könnte.
http://www.google.de/search?q=reguläre+ausdrücke+php&ie=UTF-8&oe=UTF-8&hl=de&btnG=Google-Suche&meta= probier ein paar aus. Ich hab für mich gemerkt, dass die Dinger seeeehr stark vom Schreibstil abhängen und bin letztlich bei einem O'Reilly-Buch hängen geblieben. Eine echte Empfehlung kann ich Dir also nicht geben.
Und eine Sache konnte ich nirgendwo richtig erklärt finden. Wodurch wird das Ergebnis der Ersetzung eigentlich definiert? Also ich habe schon \1, \2... oder $1, $2... oder ${1}, ${2}... probiert, das klappt alles. Welches sollte man am besten verwenden?
Hängt davon ab, wie Du Dir den RegExp aufbaust.
Gruß, Thoralf
Danke, aber was meinst du mit wie ich es aufbaue?
Ich habs hier mit eingen regexps getestet und es hat jede Variante geklappt :)
Was ich genau will: BBcode in meinem Gästebuch durch das entsprechende HTML ersetzen. Bis jetzt habe ich das direkt per Array gemacht, da lief eben jede Variante. Jetzt habe ich das HTML in Templatedateien, die zum ersetzen eingelesen werden, da klappt nur mehr $1, $2..., weil scheinbar die \ rausgenommen werden.
Ich bräuchte nur mal eine kurzen Hinweis, wie diese $1, etc. überhaupt zustande kommen. Am tollsten wäre es nämlich, wenn man einen Zielcode selbst angeben könnte, also zb {text}, statt $1.