Avatar billede palito Nybegynder
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);
}
Avatar billede olebole Juniormester
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>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester