[php] afficher un nombre defini de caractere

Fermé
Martine - 29 nov. 2005 à 22:23
 amine - 12 déc. 2012 à 03:44
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
A voir également:

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 ;)
17
Hello Romanus :-)

merci beaucoup pour ta soluce bien utile et surtout bien expliquée.
@ ++
0
Perso je me permettrais juste de remplacer la ligne

$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.
0
substr ( string $string , int $start [, int $length ] )
0
CrazyCanuck Messages postés 66 Date d'inscription mercredi 16 novembre 2005 Statut Membre Dernière intervention 26 juillet 2006 67
30 nov. 2005 à 00:36
10
Le message date d'un ans, mais peut importe :

Belle fonction merci !
Elle peut servir à pas mal de personnes (j'utilisais jusqu'à présent les caractères, et non les mots - pas bien pratique)...
3
martine68 Messages postés 1 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 30 novembre 2005 2
30 nov. 2005 à 00:47
Merci pour votre réponse rapide je vais vois cela de plus près .

Bonne soirée, Martine
2