hi,
ein regex soll "[ B][ I] irgend ein text... [/ I][/ B]" , bzw "[ B][ U]...[/U][/B]" oder "[ U][ B]...[/ B][/ U]" matchen (ohne die leerzeichen bei den tags).
die reihenfolge von b,i,u soll egal sein. auch [ I][ B][ U] ... [/ U][ /B][ /I] soll gehen.
ich bin leider noch nich so fit in der erstellung von regex. nach vielen versuchen habe ich folgenden regex erstellt :
/((\[(I|B|U)\]){2,}?)(.*)(\[\/(I|B|U)\]){2,}?/iUms
der regex passt aber hinten und vorne nicht. er findet im text zwar [ B] [ I] ... [/ I][/ B] , aber er matcht auch sachen wie :
[ B][ I] text.. [/ B][/ I]
oder :
[ B][ I] text.. [/ I] text... [/ B]
ich könnte zwar nach jedem tag (also [ B][/ B] , [I][/ I] ... ) suchen und diese ersetzen, jedoch hab ich dann eine unschöne aufreihung von <span>'s im quelltext, falls man [ B][ I] eingibt. (<span class="B"><span class="I">...text...</span></span>
am ende hätte ich es gerne so, dass [ B][ I] zu <span class="BI">..</span> und [ I][ U] zu <span class="IU">...</span> usw. gewandelt wird.
ich bin mir auch nicht sicher, ob das überhaupt in einem regex möglich ist.
über hilfe und/oder über einen anderen lösungweg würde ich mich freuen.
martin
ein regex soll "[ B][ I] irgend ein text... [/ I][/ B]" , bzw "[ B][ U]...[/U][/B]" oder "[ U][ B]...[/ B][/ U]" matchen (ohne die leerzeichen bei den tags).
die reihenfolge von b,i,u soll egal sein. auch [ I][ B][ U] ... [/ U][ /B][ /I] soll gehen.
ich bin leider noch nich so fit in der erstellung von regex. nach vielen versuchen habe ich folgenden regex erstellt :
/((\[(I|B|U)\]){2,}?)(.*)(\[\/(I|B|U)\]){2,}?/iUms
der regex passt aber hinten und vorne nicht. er findet im text zwar [ B] [ I] ... [/ I][/ B] , aber er matcht auch sachen wie :
[ B][ I] text.. [/ B][/ I]
oder :
[ B][ I] text.. [/ I] text... [/ B]
ich könnte zwar nach jedem tag (also [ B][/ B] , [I][/ I] ... ) suchen und diese ersetzen, jedoch hab ich dann eine unschöne aufreihung von <span>'s im quelltext, falls man [ B][ I] eingibt. (<span class="B"><span class="I">...text...</span></span>
am ende hätte ich es gerne so, dass [ B][ I] zu <span class="BI">..</span> und [ I][ U] zu <span class="IU">...</span> usw. gewandelt wird.
ich bin mir auch nicht sicher, ob das überhaupt in einem regex möglich ist.
über hilfe und/oder über einen anderen lösungweg würde ich mich freuen.
martin
Kommentar