Réduction logique d'un titre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Réduction logique d'un titre

par Invité » 28 août 2008, 11:47

Voilà trouvé sur le site du Zero:

Code : Tout sélectionner

function extrait($string,$start = 30,$end = 0,$sep = '...') { $extrait = substr($string,0,$start); $extrait = substr($string,0,strrpos($extrait,' ')).$sep; $extrait2 = strstr(substr($string, -$end,$end),' '); return $extrait.' '.$extrait2; }

par Truc » 28 août 2008, 11:27

Des solutions sont existantes sur le forum... essaie une recherche avec "tronquer" :-k

*** me rend compte que je dis ça à chaque fois... mais ça existe ***

par @rthur » 28 août 2008, 11:16

Bonjour,

Voici une approche:
1) tu coupes à la longueur maximale que tu veux (par exemple 30, tu l'as déjà fait)
2) dans ton titre coupé, tu recherches le dernier espace : http://fr.php.net/strrpos
3) tu recoupes ta chaine à la position récupérée précédemment

Ainsi tu va couper sur un espace et pas au milieu d'un mot :)

Réduction logique d'un titre

par Jean75 » 28 août 2008, 10:58

Bonjour,

Je cherche une solution pour réduire une chaîne de caractère soit un titre de news.

J'ai un titre qui peut faire au max 30 caractères lors de l'affichage. J'ai donc pris la solution avec:
substr('Je suis le nouveau titre du blog de Jean de Larue', 0, 30));

Je vais donc avoir une chaîne de 30 caractères. Mais généralement le dernier mot est coupé en plein milieu et ne veux plus rien dire.
Je cherche donc au solution pour réduire mon titre de manière logique:

titre normal: "je suis une titre de grande news"
titre avec découpe logique: "Je suis une titre..."

Si vous avez une solution; merci d'avance.

Bonne journée