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);
3 svar · 412 visningar · startad av Smultron
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!
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);
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);
... glöm det