Césario Posté 21 Novembre 2007 Posté 21 Novembre 2007 (modifié) Bonsoir à tous, Je suis en train de créer un petit annuaire basé sur MyDir et j'aimerais tronquer à un moment le texte des descriptions des sites inscrits. Je suis tombé sur ce script ici qui a l'air de faire ce que je souhaite mais après de nombreux essais et ne comprenant rien au php, je n'y arrive pas. Est-ce que quelqu'un peut m'aider ? Voici le code utilisé pour afficher ces sites : // Affichier les liensfunction affichage_liens($liste, $url_r=1, $fil=0) {global $tab_pr; while ($i=mysql_fetch_array($liste)) { $tab_pr[$i["url"]] = $i["pr"]; echo "\n".'<div class="lien">'."\n".'<a onclick="window.open(this.href,\'_blank\');return false;" href="'.$i["url"].'" title="'.$i["name"].'">'.$i["name"].'</a>'; if ($i["pr"] != 0) echo ' <img src="images/pr'.$i["pr"].'.gif" alt="Page Rank : '.$i["pr"].'" />'; echo "<br />\n"; echo $i["description"].'<br />'; if ($fil == 0) echo "\n<span>".$i["url"]."</span>\n</div>\n\n"; else { echo "\n".'<span>'.$i["url"].'</span><br />'; $title_chemin = show_me_the_way_clic($i['category'], $url_r); echo "\n<div class=\"ariane\">Catégorie :$title_chemin"."</div>\n</div>\n\n"; } }} Merci. Modifié 21 Novembre 2007 par Césario
azerty31700 Posté 21 Novembre 2007 Posté 21 Novembre 2007 Bonjour, Je ne suis pas sur de ce que je vais dire et je n'ai aucun moyen de vérifier mais je sais que cela fonctonne en python, alors pourquoi pas en php ? Partant du fait que les chaines de caractères sont des taleaux tu peu essayer $var = $chaineTropLongue[:500] Ca devrais, mais encore une fois, je n'en suis pas sur, couper ta chaine trop longue et placer les 500 premiers caractères dans la variable $var. Bonne chance pour ton annuaire
Césario Posté 21 Novembre 2007 Auteur Posté 21 Novembre 2007 Bonsoir, Merci, je vais voir ça même si je ne sais pas trop comment l'utiliser...
captain_torche Posté 22 Novembre 2007 Posté 22 Novembre 2007 Personnellement, j'utilise cette fonction, pour ne pas couper en plein milieu d'un mot : <?php function extrait($txt, $taille = 150) { $txt= substr($txt, 0, $taille); $last_space = strrpos($txt, ' '); $extrait = substr($txt, 0, $last_space); return $extrait.' [...]'; }?> Dans le principe, il coupe le texte à X caractères (150 par défaut), puis cherche après ça le dernier espace du texte coupé. Il supprime tout ce qu'il trouve derrière, et ajoute [...]
Césario Posté 22 Novembre 2007 Auteur Posté 22 Novembre 2007 Bonjour, Cela me semble pas mal du tout mais comment l'adapter à mon code ? Désolé mais moi et le php, c'est pas le top ! Merci.
captain_torche Posté 22 Novembre 2007 Posté 22 Novembre 2007 Il te suffit de faire : echo extrait($ta_variable); Pour couper le texte après plus de caractères, il te suffit de faire : echo extrait($ta_variable, 300);
Césario Posté 22 Novembre 2007 Auteur Posté 22 Novembre 2007 Bonsoir, Et merci pour ton aide. C'est parfait !
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant