Limit d'affichage ....
Salut,
Vois je récupre un champ text de ma base de donnée et j'aimerais n'afficher qu'un certain nombre de mots....
j'ai fait sa
<?php
$news_tb=explode((" ",$news);
//disons que l'on prend ke les 50 1er mots
$re="";
for ($i=0;$i<50;$i++)
{
$re .=$news_tab[$i].' ';
}
?>
Je me demande si pas un moyen plus correct, moins bourrin, bref plus simple et efficace que celui ci?
Merci
Il en faut peu pour être heureux !!!!!
apres avoir reflechi j'ai trouvé une autre methode qui peut marcher mais en fonction des lettres pas des mots ( jen suis pa sur vu ke je lai pa tester ) mais qui est encore plus bourrine ;)
elle consiste a recuperer ton texte en une variable, afficher la variable dans une textearea ou un truc du genre limité a un certain nb de caracteres, puis a recuperer ce que contient la textearea :p
Je penses pa que ca te serves mais c'est pour te montrer que ta methode n'est pas si bourrine ;)
epita promo 2009
Ok,
Merci
Il en faut peu pour être heureux !!!!!
/* Peut-être avec un truc de ce genre (éfficace pour les news... */
$longueur=20; //20 caractères
$letexte="blablablablablablablablablablabla";
if (strlen($letexte)>$longueur)
{
$letexte = substr($letexte,0,$longueur)."...";
}
/* Ou alors regarde un peu cette fonction ça pourait peut-être t'être utilise */
wordwrap();
C bien pour des news
Le truc que faut compter le nb de caractères et je suis pas de tomber sur la fin d'un mots.
enfait je cherche la meme chose pour des mots (j'ai pas trops envie de coupé un mot).
Mais je va quand meme essayé
Merci
Il en faut peu pour être heureux !!!!!
Ben moi je trouve que t'as méthode de base elle gère bien.
Voilà.
J'ai corrigé une tite bourde :
if (count($news_tab)<50)
{
$fin=count($news_tab);
}
else{
$fin=50;
}
$re="";
for ($i=0;$i<$fin;$i++)
$re .=$news_tab[$i].' ';
Voila cela permet d'évite les erreurs si le text comporte moins de 50 mot
S
Si quelqu'un a une solution pus simple je sui prenneur :)
@+
Il en faut peu pour être heureux !!!!!
Un code qui ne compte pas les mots mais se base sur le nombre de caractère. Ne coupe pas de mots en deux :o)
if(strlen($ligne)>150){
$espace = strpos($ligne,' ',150);
$phraseCoupee = substr($ligne, 0, $espace);
} else {
}
Pas tout a fait ce que tu souhaitais masi bon ca peut peut etre le faire ausi ;o)
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
lol fausse manip pas eu le temps de finir.
Enfin bon c'est pas grave :o)
Dans le if tu mets : echo $phraseCoupee;
dans le else tu mets echo $ligne;
vala :D
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
merci @+
Il en faut peu pour être heureux !!!!!
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: