DarkArcadius Posté 17 Février 2008 Posté 17 Février 2008 Et bien donc je m'explique, j'ai d'une part une page où je saisis dans un textarea un texte (limité en nombre de caractères), et d'une autre part, une page en php se servant de la DB qui affiche donc un texte par ligne dans un tableau tout beau! Mon problème se situe au niveau du fait que lorsque je saisis un texte dans ce textarea, j'aimerai qu'il y ait un retour à la ligne automatique et forcé lorsque le mot atteint le bord droit. Ce problème se pose uniquement lorsque je ne saisis qu'un mot d'une longueur dépassant celle du cadre, si je saisis un texte cela retourne à la ligne tout seul. Je voudrais donc savoir s'il existe un moyen de forcer ce retour à la ligne. Merci (le wrap ne marche pas sous firefox me semble-t-il, j'ai essayé). Merci d'avance !
DarkArcadius Posté 17 Février 2008 Auteur Posté 17 Février 2008 Cette fonction est faite pour respecter les retours chariots que l'on fait dans le textarea. Je cherche une fonction qui en fait automatiquement un en bout de ligne, meme si le mot n'est pas finit. Merci quand même à toi
captain_torche Posté 17 Février 2008 Posté 17 Février 2008 Non, il n'existe pas de telle fonction, les césures n'étant pas connues du HTML. Mais pour avoir ce souci, ta zone de texte doit être assez petite : le mot le plus long de la langue française étant "anticonstitutionnellement", et même en écrivant "supercalifragilisticexpialidocious", sur un textarea de taille convenable, tu ne devrais pas avoir de souci. Donc, de deux choses l'une : ou tu agrandis ton textarea, ou tu en diminues la taille de caractère (tu peux aussi conserver ton comportement actuel).
DarkArcadius Posté 18 Février 2008 Auteur Posté 18 Février 2008 (modifié) Ok je prend note de tes idées. Merci à toi Modifié 18 Février 2008 par DarkArcadius
zavatha Posté 3 Mars 2008 Posté 3 Mars 2008 Bonjour à tous, Nouveau sur le forum, j'ai eu le problème ce matin et j'apporte une petite contribution sous la forme d'une fonction php : CODE function formatText($str, $max){ $len = 0; $texte = ''; $tab = preg_split('/\s/', $str); foreach($tab as $mot){ $len += strlen($mot); if($len >= $max){ $texte.="</br>".$mot." "; $len = 0; }else{ $texte .= $mot." "; } } return $texte; } ca prend en paramètres la chaîne à afficher (récupérée en post à partir du formulaire avec $_POST['nom_du_textarea']) et la longueur des lignes à afficher. et puis ca coupe la ligne en fonction des blancs, et ca ajoute les retours charriots à la fin du dernier mot entier ayant atteint la longueur de ligne définie (en caractères). c'est du basique perfectible mais ca marche pour moi ++ zavatha
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant