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

Code : Tout sélectionner

<textarea rows="6" name="message" cols="33"></textarea>
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 :).