lulu: Bitte um Erklärung einer Variablenzuweisung

Beitrag lesen

Huhu Phil

$ausgabe=eregi_replace("\[url\]www.([^\[]*)\[/url\]","<a href="http://www.\1" target=_blank>\1</a>",$ausgabe);

der Ausruck eregi_replace sagt mir schon was, aber:
1.) was sollen die vielen \ darin?

Mit dem Backslash werden Zeichen die Teil der "regular expression"-Syntax sind escaped.

2.) Sind die als Schutz vor fehlinterpretationen?

sozusagen

3.) Und wenn ja, warum sind bei \[ 2x\ während bei " nur 1x\ ist?

In Deinem Beispiel sind in der Tat einige \s mehr als nötig vorhanden. Schaden richten sie (vom Sehapparat des Betrachters einmal  abgesehen) aber nicht an.

4.) Und was bedeutet das ([^\[]')? und wie kommt die URL in den

Link, wo nun ja nur \1\ steht?!

\1 enthält die erste Klammer des regulären Ausdrucks

btw. Dein Beispiel findet nur www-links. Subdomains wie z.B. forum.de.selfhtml.org bleiben aussen vor.

eine etwas kürzere Variante wäre z.B.

$ausgabe=preg_replace("=[url](.*)[/url]=Ui","<a href="http://\1" target=_blank>\1</a>",$ausgabe);

da werden dann auch andere subdomains als WeWeWe mit gefunden

Viele Grüße

lulu