phpbar.de logo

Mailinglisten-Archive

[php] Re: [URL][/URL] tags?

[php] Re: [URL][/URL] tags?

Gloss Mathias php_(at)_phpcenter.de
Thu, 1 Nov 2001 13:06:46 +0100


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