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