html tags uit ingevoerde tekst
ik ben een forum aan het bouwen waarin gebruikers dus gewoon een tekst kunnen posten, maar als ze html tags gaan typen, dan gaat het bij het weergeven helemaal mis omdat de html tags door de browser gezien worde als gewone html code
hoe kan ik dit oplossen? dat <br> gewoon ook letterlijk wordt weergegeven als <br> zoals hier dus gebeurt :-)
alvast bedankt
hoe kan ik dit oplossen? dat <br> gewoon ook letterlijk wordt weergegeven als <br> zoals hier dus gebeurt :-)
alvast bedankt
en hoe doe je dat? sorry ben echt een newbie :-)
en ik kan eigelijk nergens fatsoenlijke uitleg vinden hierover
en ik kan eigelijk nergens fatsoenlijke uitleg vinden hierover
Gewijzigd op 01/01/1970 01:00:00 door UltimateWeapon
Hier heb je wat functies om na te kijken en hoe te gebruiken:
stripslashes();
//als je strings met quotes erin wilt bewerken voordat ze in je db gaan
//moet je juist addslashes hebben. Die escapet keurig alle quotes.
addslashes();
//die zorgt dat alle backslashes worden verwijderd
//Bij het uitlezen van gegevens uit je db moet je dan weer stripslashes gebruiken
$gebruikersnaam = addslashes($gebruikersnaam);
$wachtwoord = addslashes($wachtwoord);
strip_tags();
//dan krijg je een string waar alle gekke tekens vervangen worden door hun HTML equivalent.
//hij vervangt bijvoorbeeld een dubbele quote (") door: "
htmlspecialchars();
strip_tags() gooit hij alle html eruit, en er blijft ook niks van over zoals bij
htmlentities wel het geval is (bij htmlentities word het alleen niet meer uitgevoerd)
htmlentities();
Met htmlentities voorkom je in ieder geval dat die html codes door de browser uitgevoerd worden.
Met eregi zou je dan bijv. alles tussen < & > kunnen verwijderen.
stripslashes();
//als je strings met quotes erin wilt bewerken voordat ze in je db gaan
//moet je juist addslashes hebben. Die escapet keurig alle quotes.
addslashes();
//die zorgt dat alle backslashes worden verwijderd
//Bij het uitlezen van gegevens uit je db moet je dan weer stripslashes gebruiken
$gebruikersnaam = addslashes($gebruikersnaam);
$wachtwoord = addslashes($wachtwoord);
strip_tags();
//dan krijg je een string waar alle gekke tekens vervangen worden door hun HTML equivalent.
//hij vervangt bijvoorbeeld een dubbele quote (") door: "
htmlspecialchars();
strip_tags() gooit hij alle html eruit, en er blijft ook niks van over zoals bij
htmlentities wel het geval is (bij htmlentities word het alleen niet meer uitgevoerd)
htmlentities();
Met htmlentities voorkom je in ieder geval dat die html codes door de browser uitgevoerd worden.
Met eregi zou je dan bijv. alles tussen < & > kunnen verwijderen.
Zie de handleiding op www.php.net en zoek dan eens op de functie htmlentities(). Succes!
bedankt voor de commentaar, ik heb het als volgt gebruikt:
$text = htmlentities($_POST[txtReply]);
$text = nl2br($text);
en dan $text opgeslagen in de DB :-)
UPDATE: dit kan voor problemen zorgen als je een optie wil toevoegen als "edit post", daarom is het beter om de text gewoon op te slagen zonder er eerst een nl2br() op toe te passen
je kan dan bij de output ervan WEL gebruik maken van nl2br()
zo voorkom je problemen als:
edit<br />
deze<br />
post
als je de text output in een edit form
$text = htmlentities($_POST[txtReply]);
$text = nl2br($text);
en dan $text opgeslagen in de DB :-)
UPDATE: dit kan voor problemen zorgen als je een optie wil toevoegen als "edit post", daarom is het beter om de text gewoon op te slagen zonder er eerst een nl2br() op toe te passen
je kan dan bij de output ervan WEL gebruik maken van nl2br()
zo voorkom je problemen als:
edit<br />
deze<br />
post
als je de text output in een edit form
Gewijzigd op 01/01/1970 01:00:00 door UltimateWeapon