HTML interesse |
|
Ik heb de volgende code geschreven voor het parsen van enkele ubb-tags:
<?php
function db2out ($news) {
$bericht = nl2br($news);
$bericht = str_replace('[br]','<br />',$bericht);
$bericht = str_replace('[BR]','<br />',$bericht);
$bericht = eregi_replace("\\[b\\](.+)\\[/b\\]","<strong>\\1</strong>",$bericht);
$bericht = eregi_replace("\\[i\\](.+)\\[/i\\]","<em>\\1</em>",$bericht);
$bericht = eregi_replace("\\[u\\](.+)\\[/u\\]","<u>\\1</u>",$bericht);
$bericht = eregi_replace("\\[url=(.+)\\](.+)\\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$bericht);
$bericht = eregi_replace("\\[mail=(.+@.+\..+)](.+)\\[/mail\\]","<a href=\"mailto:\\1\">\\2</a>",$bericht);
$bericht = eregi_replace("\\[img\\](.+)\\[/img\\]","<img src=\"\\1\">",$bericht);
/* Hier komen nog heel wat functies die smileys vervangen */
}
?>
<?php function db2out ($news) { $bericht = eregi_replace("\\[b\\](.+)\\[/b\\]","<strong>\\1</strong>",$bericht); $bericht = eregi_replace("\\[i\\](.+)\\[/i\\]","<em>\\1</em>",$bericht); $bericht = eregi_replace("\\[u\\](.+)\\[/u\\]","<u>\\1</u>",$bericht); $bericht = eregi_replace("\\[url=(.+)\\](.+)\\[/url\\]","<a href=\"\\1\" target=\"_blank\">\\2</a>",$bericht); $bericht = eregi_replace("\\[mail=(.+@.+\..+)](.+)\\[/mail\\]","<a href=\"mailto:\\1\">\\2</a>",$bericht); $bericht = eregi_replace("\\[img\\](.+)\\[/img\\]","<img src=\"\\1\">",$bericht); /* Hier komen nog heel wat functies die smileys vervangen */ } ?>
Het probleem is nu dat hij niet alle tags omzet; als ik bijvoorbeeld een lange tekst heb met verschillende malen [b ] en [/b ] in, dan worden enkel de eerste [b ] en de laatste [/b ] vervangen.
Heeft er iemand een idee hoe dit zou kunnen komen en/of opgelost zou kunnen worden?
|