[PHP] Affhicher les 10 premieres lignes

WRInaute occasionnel
Bonjour,

Je veut afficher les 10 premieres lignes d'un texte ,j'ai essayé substr mais on ne sais pas toujours combien il y a de characteres dans une ligne


Merci
 
WRInaute occasionnel
Je poste mon idée à titre indicatif ça va peut-être donner des pistes...

tu passes ton texte en nl2br et après tu exploses ta chaîne et tu comptes jusqu'au dixième <br>! Ca fait usine à gaz mais pour le coup, c'est la première idée qui m'est venue...
 
WRInaute occasionnel
Si c trop difficile, comme faire pour mettre le text dans une div puis affiche une hauteur a ce que 10 ligne soit visible , j'ai vue deja ca qlq part (avec css)mais je ne me souvient plus ou
 
WRInaute accro
une ligne n'est pas un nombre de caractères vu que ca dépend de ton écran et du nombre de caractères par ligne...

nombre de caractères c simple... nombre de lignes, je vois pas trop
 
WRInaute occasionnel
Je crois que vous m'avez pas compris :

Comment faire pour creer un div avec une taille fixe quelque soit le contenu de se div ?
 
WRInaute accro
ah oui effectivement on avait rien compris... fallait demander comment fixer la hauteur d'une div

Ca je ne sais plus mais y'aura quelqu'un pour te dire
 
WRInaute accro
si ta police fait 10px, fixe la taille de ton div en 100px (il doit falloir ajouter l'interlignage).

Pour fixer la hauteur d'un div : height:100px ;)

NB : fixe aussi l'overflow (auto ou hidden) en fonction de ce que tu veux...
 
WRInaute occasionnel
dans ce cas là tu peux utiliser line-height:15px;

et donc un div de 150px de haut, je n'avais vraiment pas compris ta question, je suis désolé de t'avoir donner un plan de construction pour une usine à gaz...
 
WRInaute accro
Attention tout de même à cette méthode un peu bidouille car sur des navigateurs comme firefox, on peut agrandir la taille de la police ;)

L'idée serait alors de bosser en em... (pas en pixel)

imaginons :
- police : 1em
- interlignage : 0.5 em

hauteur : 10 lignes x 1em + 9 interlignages x 0.5 em = 14.5 em

Comme ça la hauteur du div devrait se fixer en proportion de la taille de police configurée dans le navigateur.

A tester...
 
WRInaute occasionnel
blman a dit:
Attention tout de même à cette méthode un peu bidouille car sur des navigateurs comme firefox, on peut agrandir la taille de la police ;)

L'idée serait alors de bosser en em... (pas en pixel)

imaginons :
- police : 1em
- interlignage : 0.5 em

hauteur : 10 lignes x 1em + 9 interlignages x 0.5 em = 14.5 em

Comme ça la hauteur du div devrait se fixer en proportion de la taille de police configurée dans le navigateur.

A tester...

Merci pour les conseils :wink:
 
WRInaute accro
Serious a dit:
echo implode("\n",array_slice(explode("\n",$text),0,10));

Le problème, c'est qu'une ligne stockée dans la base de données peut-être largement plus longue qu'une ligne affichée... et je crois qu'il veut afficher 10 lignes à l'écran (pas 10 lignes de la BDD)... Ou alors j'ais rien compris...
 
Discussions similaires
Haut