Sponsored Links |
|
||||
Was du machen willst könnte mit regulären Ausrücken schwierig werden.
Versuch mal das Ganze in eine Schleife zu packen, die so lange läuft, bis keine Div-Blöcke mehr vorhanden sind. In der Schleife dann jeweils den ersten und letzten ersetzen. Irgendwann ist der Text dann durchgearbeitet bis zur Mitte und alle wurden ersetzt. Ich hatte ein ähnliches Problem mal mit BBCodes und deren Verschachtelungen. Habs dann so gelöst, dass ich von regulären Ausdrücken weg bin und einen richtigen Parser für den Text geschrieben habe^^
__________________
Geändert von Pr0g (07.10.2009 um 18:50 Uhr) |
Sponsored Links |
|
||||
Ersetzungsalgorithmen fangen immer dort nach einer nächsten Übereinstimmung zu suchen, wo die vorherige endete. Denn anderenfalls würde so etwas wie str_replace('foo', 'foo', 'foo') zu einer Endlosschleife führen.
Da sich aber reguläre Ausdrücke sowieso nicht zum Verarbeiten von einer nicht-regulären Sprache wie HTML eignet, ist ein Parser sinnvoller, der sich die einzelnen öffnenden und schließenden Tags merkt und zusammengehörige Paare erkennt. Damit kannst du dann sogar Syntaxfehler aufspüren und gegebenenfalls korrigieren.
__________________
Markus Wulftange |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Reguläre Ausdrücke - entfernen von <br /> hinter html-Tags | Praktikant | Serveradministration und serverseitige Scripte | 7 | 14.12.2009 23:24 |
gibt es so was wie ausdrücke? | lomtas | CSS | 3 | 22.03.2005 18:38 |
301 mit htaccess - Fragen /reguläre Ausdrücke? | andir | Serveradministration und serverseitige Scripte | 1 | 21.12.2004 01:38 |