phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?B?UmVn/GzkcmUgQXVzZHL8Y2tl?=

[php] Regüläre Ausdrücke

Manuel Carrara php_(at)_phpcenter.de
Wed, 2 May 2001 14:37:09 +0200


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