Page 1 sur 1
retour à la ligne
Posté : 15 janv. 2007, 18:18
par Invité
bonjour,
j'ai un petit formulaire d'enregistrement mais quand je retourne à la ligne, php me l'enregistre avec "rn" à la place du retour à la ligne et me colle tous les mots.
Comment faire pour que le retour à la ligne soit interpréter en tant que tel et pas en passage en 'rn' ?
Merci.
Posté : 15 janv. 2007, 18:23
par jojolapine
nl2br() ?
Posté : 15 janv. 2007, 18:56
par Invité
ça rentre en conflit avec un :
$_POST = array_map('stripslashes', $_POST);
stripslashes est peut-être pas nécessaire. Je le dégage ?
Posté : 15 janv. 2007, 18:58
par Ultim4T0m
Tente plutôt avec nl2br() comme l'a dit jojolapine.
Quitte a ensuite faire un stripslashes pour l'affichage, bien que venant de données en $_POST ce ne soit peut-être pas très utile.
Posté : 15 janv. 2007, 18:59
par jojolapine
Tu n'es pas obligé d'enlever le stripslashes... par contre tu peux faire ton nl2br() avant le stripslashes(), comme ça plus de soucis.
Posté : 15 janv. 2007, 19:02
par Invité
D'accord. Merci pour ton aide.
Posté : 15 janv. 2007, 19:41
par Invité
(re moi)
J'ai beau trifouillé dans tous les sens mais :
si les retours à la ligne sont bien supprimés, et bien il n'y en a plus et question mise en page, c'est quand même pas mal d'en avoir.
J'ai tenté un _replace mais c'est en conflit avec une autre règle qui dégage tout html tags.
Mon problème est donc le suivant : pour pouvoir avoir des retours à la ligne, je vais devoir autoriser le html. C'est pas dangereux comme opération ?
Posté : 15 janv. 2007, 21:15
par Ryle
C'est pas terrible en effet... en fait ce qu'il faut voir c'est que les retours à la ligne sont codés ainsi : \r\n (windows) ou juste \n (unix)
Je ne vois pas l'intérêt du stripslashes si ce n'est pour un affichage immédiat, et qu'à la condition que php ait ajouté des slashes automatiquement dans le request (paramétrable dans php.ini)..
Ton stripslashes() va avoir pour effet de transformer les "\r\n" en "rn" ce qui n'a plus aucun sens.
Donc à moins que tu n'ais une bonne raison de le garder, virer le stripslahes(). Si tu veux empêcher de saisir du html tu peux virer toutes les balises aevc html_strip_tags() et une fois toutes les balises virées, utiliser nl2br() pour remplacer les retours charriots par des "<br />". (Encore que personnellement je stoquerais les valeurs avec \n et n'utiliserais le nl2br que lors de l'affichage)

Posté : 16 janv. 2007, 11:01
par Invité
C'est bien noté. Merci pour ton explication car j'ai changé mon code en ce sens.