10. februar 2005 - 22:52Der er
17 kommentarer og 2 løsninger
Fjern HTML tags, men ikke alle
Hejsa,
Jeg bruger nedestående kode til at fjerne html tags fra min gæstebog. Problemet er bare at den fjerne alle html tags og jeg vil gerne tillade nogle enkelse (se nedenfor).
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
//Remove white spaces in the end of the string $comment_fetch[name] = trim($comment_fetch[name]); $comment_fetch[message] = trim($comment_fetch[message]); $comment_fetch[title] = trim($comment_fetch[title]);
Bemærk lige, at strip_tags er en "dum" funktion. Hvis du godkender visse tags, vil brugerne kunne skrive: <p onload="document.location.href='http://example.org';">foo</p> og viderestille dine brugere uden de store problemer.
Principielt set er jeg imod at give brugerne adgang til brug af HTML-tags. Du kan dog lave "falske" tags, f.eks. , , , osv., og så blot køre str_replace på dem. På den måde får dine brugere adgang til nogen tags, men du har stadig fuld kontrol over hvad der sker med dem.
//Replace "dummy-urls" with real once $comment_fetch[message] = eregi_replace("\[url\](www([^[]+))\[/url\]","<a href=\"http://www\\2\">\\1</a>",$comment_fetch[message]); $comment_fetch[message] = eregi_replace("\[url\]([^[]+)\[/url\]","<a href=\"\\1\">\\1</a>",$comment_fetch[message]);
//Replace "dummy-images" with real once $comment_fetch[message] = eregi_replace("\[img\](www([^[]+))\[/img\]","<img src=\"http://www\\2\">",$comment_fetch[message]); $comment_fetch[message] = eregi_replace("\[img\]([^[]+)\[/img\]","<img src=\"\\1\">",$comment_fetch[message]);
Synes godt om
Ny brugerNybegynder
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.