webForumDet fria alternativet

Förhindra HTML/utvalda HTML-taggar?

PHP

8 svar · 653 visningar · startad av streetrobban

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Hejsan!

Jag håller på att bygga ett litet forum och jag behöver nu lite hjälp. Jag undrar hur man kan hindra användaren från att skriva HTML-kod i trådarna? Annars kan man ju tex använda FONT för att göra texten megastor och passa layouten på sidan.

Jag har ett javascript som enkelt låter användaren skapa bold, italic och länkar på texter. Men scriptet sätter ju bra in HTML koden för användare som inte kan skriva HTML själva. Jag antar att lösningen är något liknanade som finns på WF. Några tips hur man går tillväga?

Medlem sedan dec. 20025 483 inlägg
#2

Ersätt alla '<' med < och '>' med >

Medlem sedan nov. 2002302 inlägg
#3

man skulle kunna använda strip_tags och bara tillåta den html man vill.

strip_tags($text, '<i>', '<b>', '<a>'); borde ta bort all html utom just för bold italic och länkar

Medlem sedan jan. 20011 140 inlägg
#4

oHLLe: Det låter ju ganska enkelt och bra, ska testa imorgon. Tack för tipsen, keep em comin'! :)

Medlem sedan sep. 200619 inlägg
#5

använd htmlentities()

Medlem sedan jan. 20051 130 inlägg
#6

salkciN skrev:

använd htmlentities()

Är det att rekomendera före strip_tags och htmlspecialchars? Vad tycker ni alla?

Medlem sedan jan. 20051 130 inlägg
#7

learn skrev:

Är det att rekomendera före strip_tags och htmlspecialchars? Vad tycker ni alla?

Någon som har tips på detta?

Medlem sedan jan. 20051 130 inlägg
#8

Ingen? Ska jag verkligen behöva starta en ny tråd för detta? ;)

Medlem sedan nov. 2002302 inlägg
#9

php.net om htmlentities skrev:

This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.

Med andra ord om du har kört htmlentities så behöver du inte köra htmlspecialchars() eller strip_tags(). Eftersom htmlentities har gjort det som htmlspecialchars() gör plus lite till och så finns det inga taggar att ta bort för strip_tags().

253 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
115 ms — ändringar (db)