Cleden Posté 6 Avril 2005 Partager Posté 6 Avril 2005 Salut, J'ai toujours une des problèmes avec l'affichage de mes variables php lorsque celles-ci contiennent des espaces ou des apostrophe. Cette fois-ci, j'aimerai faire quelques chose de propre alors je sollicite votre aide après avoir fait moultes recherches infructueuses sur Google. Je cherche à afficher une variable dans un champ <input> $nom = "bla/' bla"; /// variable avec espace et apostropheecho "<input name='nom' size='40' value='$nom' />"; Avec ce code, les espaces s'affichent correctement mais l'apostrophe tronque ma variable malgré l'utilisation de l'antislashe. $nom = "bla/' bla"; /// variable avec espace et apostropheecho "<input name='nom' size='40' value='".$nom."'>"; Avec ces deuxième code, ce sont les espaces qui tronquent ma variable. Si quelqu'un avait un tuyau, j'imagine que ce doit être un problème récurrent. Loïc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 6 Avril 2005 Partager Posté 6 Avril 2005 Salut Cleden, Déjà ce que tu appelles un "antislash" n'en est pas un... l'antislash est dans l'autre sens : \ Et pour te débarrasser des quotes et autres caractères gênants, il faudrait utiliser htmlentities() ... Donc, l'affichage se ferait comme ceci: echo "<input name='nom' size='40' value='".htmlentities($nom)."'>"; Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cleden Posté 6 Avril 2005 Auteur Partager Posté 6 Avril 2005 Déjà ce que tu appelles un "antislash" n'en est pas un... l'antislash est dans l'autre sens : \ Oups En fait, j'ai fait l'erreur dans le post mais celui de mon code est réellement un antislashe :-/ Et pour te débarrasser des quotes et autres caractères gênants, il faudrait utiliser htmlentities() ... Donc, l'affichage se ferait comme ceci: echo "<input name='nom' size='40' value='".htmlentities($nom)."'>"; Dan <{POST_SNAPBACK}> Arf, j'ai recopié ton code à la lettre Dan et ma variable est toujours tronquée juste après l'apostrophe. (avec ou sans l'antishlashe) Loïc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 6 Avril 2005 Partager Posté 6 Avril 2005 Un petit oubli de ma part J'ai oublié le paramètre ENT_QUOTES $nom="C'est une <très> belle histoire!";print "<form><input name='nom' size='40' value='".htmlspecialchars($nom,ENT_QUOTES)."'></form>"; <edit: j'ai ajouté le <très> dans la chaîne $nom > Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cleden Posté 6 Avril 2005 Auteur Partager Posté 6 Avril 2005 C'est plus compliqué que je le croyais mais ça marche et c'est le principal. Merci à toi, Loïc. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant