Mailinglisten-Archive |
Hiho,
> Von: David Soria Parra[SMTP:dsoria_(at)_gmx.net]
>=20
> vielen dank..nur schaff ich es nicht [URL zu ersetzen da er immer =
sagt [
> sein ein falscher charakter oder so etwas in der art
>=20
das liegt daran, da=DF bei regul=E4ren Ausdr=FCcken bestimmte Zeichen =
eine=20
Sonderbedeutung haben, z.B. auch [] (die andern stehn auch im Manual ;)
d.h. wenn du nach [ suchen willst, musst du \[ schreiben ... der \ hebt
die Wirkung des Sonderzeichens auf.
Wenn dein gesamter Text in $text steht, sollte folgendes (ungetestet)
funktionieren:
preg_replace ('/\[url=3D(.*?)\](.*)\[/url\]/mi',=20
'<a href=3D"\1">\2</a>',=20
$text);
m: Wird =FCber gesamten $text durchgef=FChrt, auch wenn Zeilen-
umbr=FCche dazwischen sind ( \n )
i: Gro=DF-Kleinschreibung bei der Suche egal (also ob url oder
URl oder UrL)
(.*?) So wenig wie m=F6gliche beliebige Zeichen finden.
sonst findest du bei [url=3D...] [/url] ... [url=3D...] [/url]
Alles zwischen dem ersten [url und dem letzten /url]
Resultat wird (wegen der Klammern) in einer "Variablen" ge-
speichert ... \1 in dem Fall
(.*)Findet dann alles zwischen [url=3D...] und [/url] und
speichert es in \2 zum ersetzen
Hoffe das tut,=20
Mathias
php::bar PHP Wiki - Listenarchive