[PHP] htmlentities/BDinsert - char nb max

Fermé
LP80 Messages postés 42 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 25 août 2011 - 26 janv. 2011 à 04:26
LP80 Messages postés 42 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 25 août 2011 - 26 janv. 2011 à 16:47
Bonjour à tous,

le titre n'est pas trés eloquant mais c'est difficile à décrire en une phrase courte...

je developpe un site dans lequel ont doit pouvoir ajouter du contenu . L'idée est de conserver les passages à la lignes, pour ne pas afficher un gros pavé de texte sur la page html.

Pour cela, je convertis mes retours chariot en "<br/>" et mes espaces en "nbsp;" et la fonction htmlentities pour le reste. J'utilise aussi cette fonction car il y aura pas mal de caractères spéciaux dans les noms propres (islandais).

Pour la DB, j'utilise un encodage utf8_general_ci (pour pouvoir afficher en FR-IS)

donc pour une insert en partant du formulaire, on obtient après traitement:
j'ai mangé du pain
j&#039;ai&nbsp;mangé&nbsp;du&nbsp;pain


Et donc voilà, mon probléme. je voudrais, lors de la frappe, afficher à l'utilisateur le nombre de caractere restants.

Comme vous pouvez le voir, avec mon systeme je suis bloqué, puisque ce nombre n'est pas le meme entre le texte brut et celui traité pour la DB

P-ê avec une fonction qui calculerais à l'avance le strlen en tenant compte du traitement (htmlentities,etc.)... inconvénient, si je passe une ligne je perd déjà 5 caractères (<br/>), sans compter que je dois revoir mes limites (dans la db) à la hausse.

auriez-vous une petite idée, car là je suis un peu perdu et fatigué.
éventuellement une autre méthode pour le texte... ?

merci aux courageux qui voudrons bien m'aider,

:):)
A voir également:

2 réponses

BloodyAngel Messages postés 1479 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
26 janv. 2011 à 05:01
Hello,
je ne sais pas si j'ai bien compris ton problème.
Tu voudrais afficher en temps réel le nombre de caractères restants lors de la frappe, en tenant compte à l'avance du formattage que tu feras. Donc si un utilisateur tape la barre d'espace, le nombre de caractères restants sera décrémenté de 5 (nbsp;).
Si j'ai bien compris, dans ce cas le problème c'est que l'équivalent d'htmlentities n'existe pas en javascript (sinon tu peux convertir ton texte en temps réel en javascript).

A priori, tu pourrais utiliser AJAX pour appeler ton code PHP par javascript, et recevoir la réponse en XML.

Sinon regarde de ce côté : http://www.editeurjavascript.com/forum/topic,2,39285,0.html
Tu as un exemple d'équivalence htmlentites en javascript (fonction complète en bas de la page).

En espérant que ça puisse t'aider.
0
LP80 Messages postés 42 Date d'inscription samedi 26 janvier 2008 Statut Membre Dernière intervention 25 août 2011 11
26 janv. 2011 à 16:47
Merci pour ta réponse,

je vais jeter un coup d'oeil sur ton lien et étudier la question.

sinon, après une nuit de sommeil je me demande si ça ne serait pas plus rapide d'utiliser un système d'éditeur de texte en JS du style ckeditor (que je n'ai encore jamais utilisé).

Même si je suis pas sûr que l'utilisation d'un tel éditeur supprimera mon problème.

Quelqu'un aurais une idée?
0