Aller au contenu

Sujets conseillés

Posté

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 !

Posté

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 ^^

Posté

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).

  • 2 semaines plus tard...
Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...