Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: lulu44 le le 14-09-2011 a 19:53:59

Titre: fonction pour encoder un texte
Posté par: lulu44 le le 14-09-2011 a 19:53:59

Bonjour, voila je suis en train de créer un formulaire a la fin du quel l'utilisateur peut poster un commentaire dans un input type text (et pas textarea).

J'ai déjà créer un fonction qui remplace les espaces par &nbsp et la variable post passe par la fonction nl2br car il y a de fortes chance que l'utilisateur fasse de petits schémas.

mon problème c'est que je voudrais faire passer la variable par htmlspecialchar mais à l'affichage il m'ecris tout les &nbsp sur une seule ligne (pas de retours à la ligne);

si quelqu'un connais un fonction qui encode tout sauf les espaces et les retours à la ligne je suis preneur :)

Titre: Re:fonction pour encoder un texte
Posté par: WebD le le 15-09-2011 a 09:06:35

Pourquoi remplacer les espaces par des &nbsp? C'est pas la peine.
Fait seulement un stripslashes ensuite un htmlspecialchar puis un nl2br l'ordre est important.

A+

Titre: Re:fonction pour encoder un texte
Posté par: lulu44 le le 17-09-2011 a 20:00:25

J'ai changer les espaces pas &nbsp car l'utilisateur peut être pousser à faire des shémas et donc faire des espaces (plus d'un) or dans un champ de texte banal si html detecte plus de deux espaces il reduit automatiquement à 1 comme si c'etait de l'incrémentation sauf si c'est écris &nsbp&nsbp&nsbp ...
Et mon problème c'est que avec htmlspecialchar il ecris tout les &sbnp ce qui donne:
math&nbsp&nbsp&nbspfrancais etc...
Je voudrais savoir si il est possible de "trier" les encodages :P

Titre: Re:fonction pour encoder un texte
Posté par: Pad le le 17-09-2011 a 22:12:21

de les "trier" ? c'est à dire ? et &nbsp prend une virgule à la fin, je sais pas trop si c'était exprès ou non que tu n'en mettais pas dans ton exemple...

Titre: Re:fonction pour encoder un texte
Posté par: lulu44 le le 17-09-2011 a 23:56:27

Je m'attendais a des réponses pertinentes et constructives.
De plus &nbsp ne prend pas de virgule monsieur je sais tout! :)
mon grand dadet :) (je t'aime toujours)
Modérateur ???

Titre: Re:fonction pour encoder un texte
Posté par: Pad le le 18-09-2011 a 00:21:42

Alors déjà je ne vois pas pourquoi tu dis qu'il n'a pas de virgule ^^ faudra revoir tes bases : http://www.commentcamarche.net/faq/8070-espace-en-html (http://www.commentcamarche.net/faq/8070-espace-en-html)

Ensuite, je te demande des précisions sur ton problème pour t'aider, mais si tu préfères nous dénigrer ne t'étonnes pas de ne pas avoir de réponses !

Titre: Re:fonction pour encoder un texte
Posté par: lulu44 le le 18-09-2011 a 18:47:36

Je ne suis pas la pour épiloguer mais mes bases je les connais, c'est pour cela que je t'affirme avec certitude que &nbsp peut s’écrire sans points-virgules, pour avoir écris pas mal de fois une fonction qui convertis le ' ' en &nbsp j'ai fais le test après si l'envie t'en prend de me contredire une seconde fois tu peut toujours faire le test toi même écris a&nbsp&nbsp&nbspb tu aura de belles surprises ;)
En tout cas je ne sait pas si c’était volontaire ou pas mais tu as répondu a ma question il suffit d’écrire white-space dans le css c'est marqué dans ton lien :) merci beaucoup :)

Titre: Re:fonction pour encoder un texte
Posté par: Pad le le 18-09-2011 a 20:47:30

Citation de: lulu44 le le 18-09-2011 a 18:47:36
Je ne suis pas la pour épiloguer mais mes bases je les connais, c'est pour cela que je t'affirme avec certitude que &nbsp peut s’écrire sans points-virgules, pour avoir écris pas mal de fois une fonction qui convertis le ' ' en &nbsp


alors faudra surement "revoir tes bases" comme tu dis, car même si cela fonctionne sans virgule, &nbsp prend toujours une virgule à la fin comme tous les autres entités HTML :
- source w3c : http://www.w3.org/TR/html4/sgml/entities.html#iso-88591 (http://www.w3.org/TR/html4/sgml/entities.html#iso-88591)
- http://www.ascii.cl/htmlcodes.htm (http://www.ascii.cl/htmlcodes.htm) (référence 160)

bonnes révisions ;)

Titre: Re:fonction pour encoder un texte
Posté par: lulu44 le le 18-09-2011 a 20:59:48

Merci :)


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.