ik gebruik deze regular expression om de quote tags te verwijderen:
<?php
$bericht = preg_replace("#\[quote\](.+?)\[/quote\]#si","<div class = \"quotecomment\">lalalallalala</div>", $bericht);
?>
Hoe kan ik er nu voor zorgen dat ik uit mijn $bericht alleen de tekst tot aan de laatste [/quote] tag krijg?
<?php
$bericht = preg_replace("#\[quote\](.+?)\[/quote\]#si","<div class = \"quotecomment\">$1</div>", $bericht);
?>
Waar jij alalalal hebt staan moet je iets met $1 gaan doen. Zoals hierboven.
Geen idee of dit werkt.
maar zoals je ziet klopt de opmaak niet helemaal.
Ik heb de width van mijn div op 400 gezet, en de margin op 5px, dus is het logisch dat het binnenste kader uit het buitenste srpingt. Hoe kan ik dit oplossen?
In deze aanpak is een preg_replace een beetje overbodig. Een str_replace zou hier ook voldoen.
Het nadeel hier is echter dat de openings quote tag ook omgezet wordt als er geen sluittag in het bericht staat en als gevolg de quote div dus ook niet afgesloten wordt. Houdt er wel rekening mee dat dit niet de hele layout van je site in de war gooit...