the-FoX: Parser und ...

Beitrag lesen

Hoi,

wenn man <(linktext,url)> angibt (oder wenn jemand ne bessere
Idee hat..) soll daraus
<A HREF="url">linktext</A> werden

Nun, zuerst schauen wir uns mal den String an:

Eckige Klammer auf, link, Doppelpunkt, Klammer auf, Text, URL,
eckige Klammer zu. Das in einen RegEx zu formulieren geht recht
schnell:

/<(.+,[^,>+)]/

Jetzt Backticks ausnutzen und in preg_replace einsetzen:

$text = preg_replace(
  '/<((.+),([^,>+))]/',
  '<a href="\2">\1</a>',
  $text
);

und genau dasselbe bei Bildern [img:(bildurl,right)] also es soll
möglich sein festzulegen, wo das bild ausgerichtet ist..rechts
doer links

Schauen wir uns den String mal an:

Eckige Klammer auf, img gefolgt von einem Doppelpunkt, Klammer auf,
Text, Komma, right oder left, eckige Klammer zu. Das in einem RegEx
auszuformulieren ist nicht schwer:

/[img:([^,]+,(right|left))]/

Wenn du jetzt die Backticks ausnutzt und das in preg_replace
einsetzt, kann das so aussehen:

$text = preg_replace(
  '/[img:(([^,]+),(right|left))]/',
  '<img src="\1" align="\2">',
  $text
);

soweit so gut...einzeln funktioniert es ...auch wenn ich erst das mit [img:()] benutze und dann [link] aber wehe ich benutze erst <()> und dann [img:()] dann gehts nciht =o((

vieleicht kannst du mri ncohmals kurz helfen ?!