Salut la famille je fais une page actualité et je cherche comment limiter le texte pour l'affichage sur la page
Salut la famille je fais une page actualité et je cherche comment limiter le texte pour l'affichage sur la page
Salut,
Que veux-tu dire exactement ? Adapter la taille du texte par rapport à la taille de la fenêtre du navigateur ? Si cela est possible (et simplement), cela concerne JavaScript, pas Java ni JSP.
Si c'est pour limiter à une taille arbitraire, il s'agit de couper ton texte : soit il est contenu en brut dans une String, et ça se fait avec un subtring(), avec éventuellement un petit traitement pour éviter de couper au milieu d'un mot (recherche d'espace et ponctuation par exemple). soit c'est du html et ça va être moins simple (parsing, et parcourt du contenu affichable pour compter - tu peux avoir une idée de départ dans ce post, ou j'ai mis du code pour transformer du html en text à plat en utilisant un parseur html ).
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
au faite j'appel du texte depuis la base de données et je veux afficher quelques ligne sur la page
Mais c'est du texte brut (pas balisé html par exemple) ?
Ensuite, la notion de lignes c'est très vague. C'est quoi une ligne ? Un nombre de caractères ? Une largeur en pixels ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Un nombre de caractere
Et bien, tu récupères ton texte dans une variable (String). Ensuite, tu calcules le nombre de caractères correspondant au nombre de ligne que tu veux :
Ensuite, version simple, tu coupes ta chaîne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 int nombreDeCaracteresParLigne = 25; // par exemmple int nombreDeLignes = 3; // par exemple int nombreDeCaracteres = nombreDeCaractersParLigne * nombreDeLignes; // c'est le nombre maximum de caractères de ton texte
Maintenant, comme je le disais, ça risque de couper un mot en plein milieu, ce qui n'est pas terrible. Une solution est de chercher une espace dans le texte pour couper.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 String texte=/*... là je ne sais pas comment tu récupères ton texte, c'est ton appli */ if ( texte.length()>nombreDeCaracteres ) { // on a besoin de couper seulement si le nombre de caractères du texte est supérieur au nombre de caractères voulu texte = texte.substring(0, nombreDeCaracteres); // on ne garde que le début du texte, avec un maximum de nombreDeCaracteres caractères }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14String texte=/*... là je ne sais pas comment tu récupères ton texte, c'est ton appli */ if ( texte.length()>nombreDeCaracteres ) { // on a besoin de couper seulement si le nombre de caractères du texte est supérieur au nombre de caractères voulu int positionEspace = texte.lastIndexOf(' ', nombreDeCaracteres); // si positionEspace <0 => aucun espace trouvée, on ne peut rien coupe du tout // si positionEspace=0, la seule espace est en première position, si on coupait là, on n'afficherait rien... if ( positionEspace>nombreDeCaractereParLigne ) { // ici un bon compromis, on aura au moins toujours une ligne de texte nombreDeCaracteres = positionEspace; } texte = texte.substring(0, nombreDeCaracteres); // on ne garde que le début du texte, avec un maximum de nombreDeCaracteres caractères }
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Merci Patron tout passe bien
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager