Avatar billede Slettet bruger
19. august 2008 - 10:31 Der er 11 kommentarer og
1 løsning

forbyde bestemte html-tags i tinymce

Hej

Jeg er i gang med at implementere tinymce i en tagwall.

Som udgangspunkt kan brugerne bruge fed skrift, kursiv skrift og understreget skrift.

Da jeg ikke er interesseret i at folk misbruger copy/paste funktionen til at omgå dette, kan jeg godt bruge noget hjælp til hvordan.

Jeg havde tænkt mig at kontrollere outputtet fra textarea for ikke-tilladte tags. Er det idiotisk, eller en god anvendelig mulighed?

Jeg havde tænkt noget i denne retning (pseudo-kode):

$allowed = array("<b>","</b>","<em>","</em>");

if $textarea indeholder andet end $allowed {
  echo "Fejl";
}
Avatar billede w13 Novice
19. august 2008 - 10:33 #1
Det er da klart den bedste fremgangsmåde. Selv hvis man slog copy+paste fra på en eller anden vis, ville man stadig kunne indsætte koder vha. JavaScript.
Avatar billede Slettet bruger
19. august 2008 - 10:34 #2
En anden løsning kunne være at lave en replace af de tags jeg tillader, køre strip_tags og så replace tilbage til de originale tags.

Det er måske lidt for molbo-agtigt eller hvad?
Avatar billede w13 Novice
19. august 2008 - 10:48 #3
Ja, det synes jeg. Hellere løbe alle forekomster af <*> og </*> igennem og tjekke, om de eksisterer i $allowed.
Avatar billede jakobdo Ekspert
19. august 2008 - 10:50 #4
strip_tags() tillader jo at beholde de tags du stadig ønsker at beholde.
Avatar billede Slettet bruger
19. august 2008 - 10:50 #5
Det jeg er bange for, er at en eller anden indsætter tegn der kan skabe problemer i mit layout. F:eks. < eller > eller ".
Avatar billede jakobdo Ekspert
19. august 2008 - 10:51 #6
Lidt ala din $allowed

$indhold = strip_tags($indhold,'<b><em>');
Avatar billede Slettet bruger
19. august 2008 - 10:52 #7
Okay, der kan man bare se, det var jeg slet ikke klar over. Så vil den i realiteten kunne være nok, idet alle uønskede tags bare skal fjernes.
Avatar billede jakobdo Ekspert
19. august 2008 - 11:01 #8
Der kan så være noget med javascript ala: <b onclick="alert('hej');">Tekst</b>, men kig evt. selv nærmere på: http://dk.php.net/strip_tags
Da der er nogle som har lavet kode til det også.
Avatar billede Slettet bruger
19. august 2008 - 12:09 #9
w13 og jakobdo...> Læg et svar og der er point på vej.

Lyder det retfærdigt med 20 point til w13 for deltagelse og 40 point til jakobdo for det bedste svar?
Avatar billede w13 Novice
19. august 2008 - 12:17 #10
Ingen point til mig her. Ellers tak. =)
Avatar billede jakobdo Ekspert
19. august 2008 - 12:29 #11
Svar!
Avatar billede jakobdo Ekspert
19. august 2008 - 13:22 #12
Takker for point.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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