Brug af "BB" kode åbner for potentiel risiko for valideringsfejl
Hej Eksperter.Mine brugere har i vores forum mulighed for, at bruge BB-lignende kode. Det åbner dog desværre for en hel del fejl-muligheder.
Brugeren kan fx. hæve tekst med [sup]tekst[/sup]. Men undlades [/sup], fås kun en halv-færdig HTML-kode : <sup>tekst
Jeg har brug for, på en eller anden måde, at gennemgå en større tekst (placeret i variablen $content), og tjekke for 20 forskellige BB-koder - på én gang. Jeg har lavet lidt kode vha. str_replace :
function form($content) {
$content = nl2br(htmlentities($content));
$from=Array("[sup]", "[/sup]", "[sub]", "[/sub]", "[pi]", "[alfa]", "[beta]", "[gamma]");
$to=Array("<sup>", "</sup>", "<sub>", "</sub>", "<img src=\"style/$style_folder/images/forum/pi.gif\" alt=\"\">", "α", "β", "γ");
return str_replace($from,$to, $content);
}
Jeg ved at ovenstående kan laves på flg. måde (fra 7th) :
// Her ændres [link]www.test.dk[/link] til et rigtigt link
preg_replace("/\[link\](.+?)\[\/link]/" , '<a href="http://$1">$1</a>' , $content);
Men hvis jeg bruger ovenstående metode, så skal jeg gennemløbe $content ca. 20 gange, hvilket langt fra er optimalt i forhold til den nuværende metode, hvor jeg kun gennemgår teksten én gang for alle BB-koderne.
Nogen der kan give mig en hånd?
