18. oktober 2007 - 18:31
Der er
1 kommentar
SKift ud med <b> <u> <i> osv
Hvordan skal denne kode se ud, hvis nedenstående skal virke? Og det skal jo være sådan, at denne tekst også skal virke "Dette er *en* _tekst_ *:D*" så "/" . $find . "(.*)" . $find . "/" er ikke godt nok.
$tags = array('\*' => 'b', '\_' => 'u');
foreach($tags as $find => $replace) {
$text = preg_replace("", "</" . $replace . ">", $text);
}
18. oktober 2007 - 21:55
#1
<ole>
Det er ikke uden grund, man i markup-sprog bruger et strat- og et slut-tag. Alt andet er noget rod. Det er heller ikke så fikst, du bruger tegn med specialbetydning i RegExp som 'tags' :)
Prøv dette:
$s = "Dette er *en* _tekst_ *:D*";
$s = preg_replace("/\*(.*?)\*/", "<b>$1</b>", $s);
$s = preg_replace("/_(.*?)_/", "<i>$1</i>", $s);
print $s;
/mvh
</bole>