Aller au contenu

Couper un texte en 3 parties égales


LJames23

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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??? :huh:

Lien vers le commentaire
Partager sur d’autres sites

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>";
?>

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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