[PHP] Affhicher les 10 premieres lignes


hm19000
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 492
Inscription: 2 Oct 2005

[PHP] Affhicher les 10 premieres lignes

Message le Dim Nov 25, 2007 19:20

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


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Inscription: 15 Juin 2007

Message le Dim Nov 25, 2007 19:23

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


hm19000
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 492
Inscription: 2 Oct 2005

Message le Dim Nov 25, 2007 19:29

oui ca trop gourmand


hm19000
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 492
Inscription: 2 Oct 2005

Message le Dim Nov 25, 2007 19:40

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


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Message le Dim Nov 25, 2007 19:40

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


hm19000
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 492
Inscription: 2 Oct 2005

Message le Dim Nov 25, 2007 20:29

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 ?


finstreet
WRInaute accro
WRInaute accro
 
Messages: 16999
Inscription: 10 Juil 2005

Message le Dim Nov 25, 2007 20:51

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


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Dim Nov 25, 2007 21:06

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


erestrebian
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 460
Inscription: 15 Juin 2007

Message le Dim Nov 25, 2007 21:26

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


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Dim Nov 25, 2007 21:38

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


hm19000
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 492
Inscription: 2 Oct 2005

Message le Dim Nov 25, 2007 21:44

blman a écrit: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:


Serious
WRInaute passionné
WRInaute passionné
 
Messages: 2438
Inscription: 21 Nov 2005

Message le Dim Nov 25, 2007 22:12

echo implode("\n",array_slice(explode("\n",$text),0,10));


blman
WRInaute accro
WRInaute accro
 
Messages: 3073
Inscription: 5 Sep 2003

Message le Dim Nov 25, 2007 22:44

Serious a écrit: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...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités