LJames23 Posté 28 Décembre 2005 Posté 28 Décembre 2005 Bonjour, je poste ici mon premier message même si je suis le forum depuis déjà de nombreuses semaines. Il est vraiment super complet pour trouver plein d'infos. je galère depuis plusieurs jours concernant la mise en page de mes articles, aussi je sollicite vos lumières pour tenter de trouver une solution. Je m'explique, je voudrais pouvoir afficher mes articles extraits de ma base de données en 3 colonnes de même longueur (à la façon d'un journal) sachant que chaque article est dans un champ de type Text. J'ai bien pensé à la fonction wordwrap() ou chunk_split() mais je ne sais pas comment mettre en place cela. Si vous pouviez me donner une piste de recherche ou un bout de script me permettant d'avancer, ce serait super. :-) Je vous remercie d'avance ! Pierre
KaRaK Posté 29 Décembre 2005 Posté 29 Décembre 2005 Bonjour, Placer tout le texte dans une variable. Utiliser strlen() pour connaitre la longueur du texte. Diviser par trois pour connaitre le nombre de caracteres à mettre dans une colonne. Decouper la chaine en 3 parties egales avec substr(). Mais il risque d'y avoir des mots decoupés... Peut etre qu'en utilisant explode(), puis calculer la taille du tableau etc... $texte = explode(" ", $texte); Une solution de ce type n'est surement pas tres performante mais c'est la seule chose qui me traverse l'esprit. Bon courage
michmuch51 Posté 29 Décembre 2005 Posté 29 Décembre 2005 Salut et Welcome to the Hub je ne suis pas sure de comprendre pourquoi vous chercher des fonctions pour la mise en page d'article que l'on appelle d'une bdd. Pourquoi ne pas utiliser tout simplement un tableau ou des div pour faire ta mise en page???
LJames23 Posté 29 Décembre 2005 Auteur Posté 29 Décembre 2005 Merci de vos réponses, ça y est j'ai une solution. Je copie le code en dessous pour ceux que ça pourrait intéresser <?php $chaine = "Salut, je vais essayer de couper cette chaine en trois parties égales."; $longueur = strlen($chaine); $longueur = $longueur / 3; $partie = explode("\n", wordwrap($chaine,$longueur)); echo "$partie[0]<br>"; echo "$partie[1]<br>"; echo "$partie[2]<br>"; ?>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant