Rechercher : dans
Par :

Couper une chaine de caractere trop longue

Dernière réponse le 23 sep 2008 à 20:17:11 mazflo007, le 23 sep 2008 à 19:29:19 
 Signaler ce message aux modérateurs

Bonjour,
J'ai une table contenant un champ description.
Et je souhaite afficher plusieurs descriptions mais en meme temps il faut qu'elle soit écourté.
Pour couper une chaine j'ai trouvé ce code très bien

function tronque($str, $nb = 150)
{
// Si le nombre de caractères présents dans la chaine est supérieur au nombre
// maximum, alors on découpe la chaine au nombre de caractères
if (strlen($str) > $nb)
{
$str = substr($str, 0, $nb);
$position_espace = strrpos($str, " "); //on récupère l'emplacement du dernier espace dans la chaine, pour ne pas découper un mot.
$texte = substr($str, 0, $position_espace); //on redécoupe à la fin du dernier mot
$str = $str."..."; //puis on rajoute des ...
}
return $str; //on retourne la variable modifiée
}

Le problème est que j'arrive pas a intégrer ce code dans une boucle
comme ceci

while ($data = mysql_fetch_array($reponse)) {

$str = $data['description'] ;
function tronque($str, $nb = 150)
{
// Si le nombre de caractères présents dans la chaine est supérieur au nombre
// maximum, alors on découpe la chaine au nombre de caractères
if (strlen($str) > $nb)
{
$str = substr($str, 0, $nb);
$position_espace = strrpos($str, " "); //on récupère l'emplacement du dernier espace dans la chaine, pour ne pas découper un mot.
$texte = substr($str, 0, $position_espace); //on redécoupe à la fin du dernier mot
$str = $str."..."; //puis on rajoute des ...
}
return $str; //on retourne la variable modifiée
}
echo ('Description : '$str' <br>')
}

Ce code m'affiche la première description mais n'est qui n'est pas écourté et me donne une erreur sur les autres
Pouvez-vous m'aider ? SVP
Merci d'avance de vos réponses.

Meilleures réponses pour « Couper une chaine de caractere trop longue » dans :
VBScript - Les fonctions de chaînes de caractères Voir Les fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Les guillemets, apostrophes et les chaînes VoirComment jouer avec les guillemets et les apostrophes dans les chaînes 1. Préambule 2. Éviter une coupure dans la chaîne 3. Ajouter un guillemet dans la chaîne 3.1 Avec l'apostrophe 3.2 Avec l'ASCII 3.3 Directement 3.3.1 Méthode...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

BanBan55, le 23 sep 2008 à 20:11:16
  • +1

<?php

$chaine = $data['description'] ;
$lg_max = 40; //nombre de caractère autoriser

if (strlen($chaine) > $lg_max)
{
$chaine = substr($chaine, 0, $lg_max);
$last_space = strrpos($chaine, " ");
$chaine = substr($chaine, 0, $last_space)."...";
}

echo $chaine;

?>

beaucoup plus simple je trouve Cordialement, Alban

Répondre à BanBan55

2

 mazflo007, le 23 sep 2008 à 20:17:11

Merci beaucoup

Répondre à mazflo007
Collection CommentÇaMarche.net