Mailinglisten-Archive |
Hello Liste,
hab ein kleines Problem, und hoffe einer von euch regex-Experten
kann mir helfen ;)
Folgendes ich will einen String:
$string1 = "sds sdsdf sfsdf s {italic{Nachricht}} jdhfkasdfhksadf";
// Tag alias ---^ ^--- String in Tag
$string2 = "sds sdsdf sfsdf s {bold{zzy{Nachricht}}} jdhfkasdfhksadf";
// Tag alias ---^ ^ ^--- String in Tag
// |-- Style alias für diesen Tag
$string3 = "... {bold{sdfh}} {link(http://domain.com){zzxc{Hier klicken}}} fkasdfhksadf";
// Tag alias ---^ ^ ^ ^--- String in Tag
// | |-- Style alias für diesen Tag
// |-- mache Tags-aliase haben Eigenschaften (hier Linkadresse)
so umwandeln das das Ergebnis:
$erg1 = "sds sdsdf sfsdf s <em>Nachricht</em> jdhfkasdfhksadf";
$erg2 = "sds sdsdf sfsdf s <em class"zzy">Nachricht</em> jdhfkasdfhksadf";
$erg3 = "... <em class="bold">sdfh</em> <a href="http://domain.com" class="zzxc">Hier klicken</a> fkasdfhksadf";
ungefähr dann so aussieht. ;)
Hab schon viele Variationen mit "eregi_replace" versucht, auch
mehrere Tutorials gelesen, bekomme es aber nicht hin.
Das Wichtige daran soll eigentlich sein, daß mehrere Tags innerhalb
eines Strings sein kann. z.B. einmal bold, dann ein link, usw.
Jeder Tagalias soll nach folgen Konventionen geparst werden:
{ Tagalias ([optional]wert) {[optinal]Stylealias { Taginhalt } } }
PS1: XML kommt nicht in Frage, da es ein User-Interface ist und ich den
Usern nicht xml beibringen kann ;)
PS2: toll währe es wenn es auch noch in die andere Richtung
funktionieren würde. d.h. Einlesen des bereits geparsten codes.
Ich weis es ist nicht einfach und ich kann auch von niemandem
verlangen, daß er mir das Problem löst, aber vielleicht ein
Hilfestellung geben.
Achso: es ist ein open-source projekt, also steht es dann jedem zur
Verfügung ;)
Best regards,
Manuel Carrara
php-ml_(at)_w3suite.com
php::bar PHP Wiki - Listenarchive