[php] afficher un nombre defini de caractere
Martine
-
amine -
amine -
Bonjour à toutes & à tous ,
qui pourrait me donner une solution au problème suivant ( pardon mais je débute en php :-)
Voila mon probleme ........
Existe t-il une fonction en Php qui pemet de n'afficher que X caractères d'un texte tiré d'une base de données en Mysql par exemple ??
Je ne cherche pas une fonction du genre qui coupe les chaines trop longues mais quelque chose qui ressemblerait à ceci :
Exemple
Le résultat affiché = arfff je suis pas blonde mais pourtant je trouve pas la solution:-)
Et le résultat que je désire = arfff je suis pas blonde mais pourtant ................
Bref, comme le genre de scripts de news que l'on recontre quelque fois
texte.........lire la suite
Merci d'avance à vous tous,
Bisous, Martine
qui pourrait me donner une solution au problème suivant ( pardon mais je débute en php :-)
Voila mon probleme ........
Existe t-il une fonction en Php qui pemet de n'afficher que X caractères d'un texte tiré d'une base de données en Mysql par exemple ??
Je ne cherche pas une fonction du genre qui coupe les chaines trop longues mais quelque chose qui ressemblerait à ceci :
Exemple
Le résultat affiché = arfff je suis pas blonde mais pourtant je trouve pas la solution:-)
Et le résultat que je désire = arfff je suis pas blonde mais pourtant ................
Bref, comme le genre de scripts de news que l'on recontre quelque fois
texte.........lire la suite
Merci d'avance à vous tous,
Bisous, Martine
A voir également:
- Php limiter le nombre de caractères
- Ascii nombre de caractères - Guide
- Caractères spéciaux - Guide
- Nombre de jours entre deux dates excel - Guide
- Nombre de caractères word - Guide
- Caractères spéciaux mac - Guide
4 réponses
pour ceux qui tomberai sur le forum, voici une fonction ;)
//fonction limitation de mots
function debutchaine($chaine, $nbmots) { // 1er argument : chaîne - 2e argument : nombre de mots
$chaine = preg_replace('!<br.*>!iU', "", $chaine); // remplacement des BR par des espaces
$chaine = strip_tags($chaine);
$chaine = preg_replace('/\s\s+/', ' ', $chaine); // retrait des espaces inutiles
$tab = explode(" ",$chaine);
if (count($tab) <= $nbmots) {
$affiche = $chaine;
} else {
$affiche = "$tab[0]";
for ($i=1; $i<$nbmots; $i++) {
$affiche .= " $tab[$i]";
}
}
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
return $affiche;
}
$mots_complets = 'salut sa va bien je suis un super pote a toi on rigole tou le temp c tro dorle comme on ce marre c bien le stage ouai sa va encore c pa mal mais bon c pa tt le temp marran oui mai comme dans la vrai vie tu sais on fai pa tout le temps ce quon veu sa serait telllement rigolo sinon ahahahahahahahahahaha bebebebebebebebeeb cececececececececececec'; //data événement
$nb_mots = 150;
$mot_courts = debutchaine($mots_complets, $nb_mots);
echo $mot_courts;
salute ;)
//fonction limitation de mots
function debutchaine($chaine, $nbmots) { // 1er argument : chaîne - 2e argument : nombre de mots
$chaine = preg_replace('!<br.*>!iU', "", $chaine); // remplacement des BR par des espaces
$chaine = strip_tags($chaine);
$chaine = preg_replace('/\s\s+/', ' ', $chaine); // retrait des espaces inutiles
$tab = explode(" ",$chaine);
if (count($tab) <= $nbmots) {
$affiche = $chaine;
} else {
$affiche = "$tab[0]";
for ($i=1; $i<$nbmots; $i++) {
$affiche .= " $tab[$i]";
}
}
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
return $affiche;
}
$mots_complets = 'salut sa va bien je suis un super pote a toi on rigole tou le temp c tro dorle comme on ce marre c bien le stage ouai sa va encore c pa mal mais bon c pa tt le temp marran oui mai comme dans la vrai vie tu sais on fai pa tout le temps ce quon veu sa serait telllement rigolo sinon ahahahahahahahahahaha bebebebebebebebeeb cececececececececececec'; //data événement
$nb_mots = 150;
$mot_courts = debutchaine($mots_complets, $nb_mots);
echo $mot_courts;
salute ;)
merci beaucoup pour ta soluce bien utile et surtout bien expliquée.
@ ++
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
par
if (count($tab) > $nbmots )
{
$affiche .= ' <a href="http://www.site.com/page_suite.php">[Lire la suite]</a>';
}
Ainsi on ajoute une toute petite condition qui fait que si l'aperçu texte contient moins de mot que la chaine complète alors on propose de lire la suite. Sinon cette proposition est inutile.