Mailinglisten-Archive |
Hallo leider hab ich selber noch keine Lösung für das Problem gefunden :( Könnte es sich vielleicht doch jemand nocheinmal anschauen. Auch wenn jemand sagt, es ist so nicht möglich oder blödsinn, hilft mir das schon weiter. Erklärung für was ich das brauche: Ich möchte dem User die Möglichkeit geben seinen Text in einem Editor zu formatieren. Jedoch nicht irgendeinem sgml-dialekt (html,xml) sondern in einer Art Makro-Sprache. z.B. gib er {fett{Dieser Text ist Fett}} ein, so verändert das script, je nach Vorlage das {fett...} in: <em>Dieser Text ist Fett</em> um. Der Sinn besteht darin, möcht ich jetzt alle {fett...} in <h1>Dieser Text ist Fett</h1> verändern, muß ich es nur in dem Styletemplate deffinieren. Benutze ich XML bzw HTML Tags, ist der Inhalt bei HTML nicht von dem Aussehen getrennt. Bei XML hab ich das Problem, wie erkläre ich dem Anwender das z.B. jder Tag geschlossen werden muß und das fett: bold heist und das man mache Tags nicht benutzen darf. ODER stimmt der Html-Code? Stimmt der XML-Code? hier ist es sogar noch schlimmer, wie sag ich dem User das er im XML was falsch hat ?? je nach parser fällt er mir (pardon) auf die Schnautze. Deshalb eine Text mit einer abstrakten, vielleicht nicht so mächtigen wie XML, Trennung von Inhalt, Formatierung und Darstellung. Es währe dann aber ohne weiters möglich in XML+XSLT, HTML+CSS zu exportieren. Sinn ist es später, dieses Text-Objekt an einer anderen Stelle nocheinmal zu verwenden z.B. Fax, eMail, PDF ... Aus diesem Grund kann ich nur bitten: schaut euch das Problem noch einmal an. Und naja: vielleicht hat einer noch eine bessere Idee ;) Best regards, Manuel php-ml_(at)_w3suite.com --8<------------------------------------------------------------------ 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 ;)
php::bar PHP Wiki - Listenarchive