Page 1 sur 2
interdir les balise html
Posté : 26 juil. 2005, 15:14
par Nico128
salut tout le monde ! J'ai un script de commentaire et le problème cest qu'on peux intégré du html ou d'autres script...
j'aimerais pouvoir interdir les <>
sinon est ce qu'il y a d'autres caractère dandereux ?
(jai chercher sur le forum avant de créé ce poste, jai bien trouver des script en java mais je savais pas les utilisé lol...)
merci d'avance !
Posté : 26 juil. 2005, 15:22
par ouckileou
c'est plutôt une question PHP
tu as une fonction qui transforme tous les caractères délicats en leur équivalent HTML
htmlentities
ex : '<' devient <
donc tu passes ton commentaire dans cette fonction avant de l'enregistrer et comme ça le code éventuellement contenu ne sera pas exécuté à l'affichage

Posté : 26 juil. 2005, 17:39
par Nico128
Ca marche super ! Mais ya un problème...
quand je presse sur Enter pour aller à la ligne, ca affiche le <br>. (avec la fonction nl2br)
Que faut t'il faire pour que le retour a la ligne marche quand meme ?
merci d'avance
Posté : 26 juil. 2005, 17:42
par ouckileou
[Résolu] ?
Posté : 26 juil. 2005, 17:43
par Nico128
plus maintenant lol, jai editer...
Re: interdir les balise html
Posté : 26 juil. 2005, 17:44
par mere-teresa
(jai chercher sur le forum avant de créé ce poste, jai bien trouver des script en java mais je savais pas les utilisé lol...)
Il y a ça sur ce forum ?
Posté : 26 juil. 2005, 17:46
par ouckileou
tu n'as qu'à utiliser la fonction nl2br() qu'à l'affichage, et ne pas enregistrer ce <br />
Re: interdir les balise html
Posté : 26 juil. 2005, 17:47
par Nico128
(jai chercher sur le forum avant de créé ce poste, jai bien trouver des script en java mais je savais pas les utilisé lol...)
Il y a ça sur ce forum ?
en javascript je voulais dire...oui yen a (du moins c'est ce qu'il me semble)
http://www.phpfrance.com/forums/search.php?mode=results
Posté : 26 juil. 2005, 17:50
par Nico128
tu n'as qu'à utiliser la fonction nl2br() qu'à l'affichage, et ne pas enregistrer ce <br />
Mais le <br /> cest pas moi qui l'ai interdit. Enfaite j'ai utilisé la fonction htmlentities pour tout le contenu du message.
Posté : 26 juil. 2005, 17:51
par ouckileou
je suis plus là, montre nous ce que tu as fait
Posté : 26 juil. 2005, 17:56
par Nico128
ok lol, mais enfaite c'est un script que jai télécharger et qui avait dja ce problème...
alors voilà :
le formulaire
Et après pour ce <br /> ya :
<?php $message = nl2br($message); ?>
et pour afficher le message c'est :
<?php echo htmlentities($commentaire3[$i]); ?>
Posté : 26 juil. 2005, 18:08
par adri
il faut utiliser le nl2br après le htmlentities.
Générallement, tu fais htmlentities sur ta variable et seulement à l'affichage tu rajoutes nl2br.
Ca évite tous les ennuis comme ça.
Posté : 26 juil. 2005, 18:21
par Nico128
jai mis ca :
<?php
$commentaire3[$i] = htmlentities($commentaire3[$i]);
echo nl2br($commentaire3[$i]); ?>
et quand je presse sur enter au lieu de faire un retour a la ligne ca mets quand même <br />
Posté : 27 juil. 2005, 11:57
par raptor
T'aurais pas fait un nl2br avant d'inserer en base de données par hasard ?
Posté : 27 juil. 2005, 12:44
par sadjiro
lol que c'est compliqué !!!!
cherche dans ton manuel et regarde du coté de la fonction :
str_replace
enfin bref, je pense que ça serait plus simple et tu serais plus libre de tes écritures

.