webForumDet fria alternativet
Logga in / Bli medlem

Kontrollera och formatera indata

PHP

3 svar · 412 visningar · startad av Smultron

Medlem sedan juli 2002423 inlägg
Trådstart#1

Jag har sökt lite i forumet men inte hitta något bra än och därför skrivier jag en ny tråd.

Jag undrar hur man ska göra för att på bästa sätt kontrollera indata och formatera den så att den ska bli rätt

ungefär som man kan göra här på forumet med bold, italic osv...

Det ska spras i en databas

Jag vill inte att man ska kunna skriva html kod osv!

Medlem sedan juni 20006 031 inlägg
#2

Du ska inte ändra datan när du sparar, det är bättre att göra det efter att du har hämtat det från databasen.

$text = str_replace("[B]", "<b>", $text);
$text = str_replace("[/B]", "</b>", $text);
Medlem sedan mars 20025 907 inlägg
#3

Precis som Pedda säger så ska du spara datan oformaterad (du kanske vill göra något annat med den i ett annat skede, då är det skönt att slippa ha massa grötig html inblandat överallt).

Dock är inte den metoden som används i kodexemplet ovan optimal. Vad händer t.ex. om någon skriver en -tagg men inte en [./b]? Då kommer resten av texten på sidan att bli fet, och det är väl kanske inte meningen. Följande metod är nog att föredra

$text = preg_replace( "'\[B\](.*?)\[/B\]'is","<b>$1</b>",$text);
Medlem sedan mars 20034 471 inlägg
#4

... glöm det

278 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)