Moderator |
|
Mja, het komt waarschijnlijk toch neer op het bouwen van een soort mini-parsertje, die met behulp van reguliere expressies of stringfuncties op een of andere manier bepaalt op welke (karakter)posities in een tekst er een quote geopend en/of gesloten wordt.
Met behulp van deze openings en sluitingsposities kun je dus de "buitenste quote-tags" van een tekst bepalen, en hier dan iets mee doen (deze weer aan een preg_replace voeren ofzo ).
Je zou alle openings- en sluitingstags in één haal uit een tekst kunnen halen door de tekst op te delen in allemaal "woorden", en dan deze woorden een voor een te gaan bekijken, maar dan begint het al heel veel op een stack-based parser (lees: compiler ) te lijken.
Wat je ook kunt doen (minder efficiënt, maar je wilt in de eerste plaats iets werkend, nietwaar ?) is eerst zoeken naar de openingstags van een quote, en hiervan de posities onthouden, en dan de tekst nog een keer doorlezen om hetzelfde te doen met sluitingstags.
Hierna zet je de startposities (van openings- èn sluitingstags) op volgorde, en zo zou je op elke moment (elke positie in je tekst) kunnen "tellen" hoeveel quote-blokken er open staan.
Ik hoop dat dit verhaal je een beetje op weg helpt. |