Aller au contenu

Comment tronquer les descriptions d'un annuaire


Césario

Sujets conseillés

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 liens
function 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é par Césario
Lien vers le commentaire
Partager sur d’autres sites

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 ;)

Lien vers le commentaire
Partager sur d’autres sites

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 [...]

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...