Afficher les x premiers caracteres ?

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 : Afficher les x premiers caracteres ?

par caroube » 23 juin 2008, 15:16

Attention aux coupures à x caractères, parce que ça peut tomber au milieu d'un mot et donner des résultats bizarres : "Le président est un contribuable comme les autres" tronqué après le 23e caractère donnera un résultat avec un sens légèrement différent (je vous laisse découvrir).
Pour ma part, pour les news, j'utilise cette fonction pompée dans Smarty
function truncate($string, $length = 80, $etc = '...', $break_words = false) {
	if ($length == 0) return '';
	if (strlen($string) > $length) {
		$length -= strlen($etc);
		if (!$break_words) $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
		return substr($string, 0, $length).$etc;
	} else return $string;
}
Avec le paramètre break_word à faux, elle coupe la phrase au premier espace après le Xième caractère et en plus rajoute trois points pour montrer que la phrase est tronquée.

par mcorgnet » 23 juin 2008, 14:21

Ca sera plus rapide en SQL, avec un LEFT()

par sadeq » 23 juin 2008, 14:17

La fonction substr() est ton amie.

Par exemple:
$ma_chaine = "Substr(chaine, x, y) retourne le texte composé de y caractère à partir de la position x";
echo substr($ma_chaine, 0, 6); //affiche les 6 caractères à partir de la position 0 (début)
//Ce qui affiche : "Substr"

Afficher les x premiers caracteres ?

par fabrice88250 » 23 juin 2008, 14:10

bonjour,
je suis en train de mettre sur mon site internet un petit systeme de news.
j'enregistre mes news dans ma BDD titre, news, et date.

Concernant l'affichage des données je n'ai pas de pb c'est ok.

j'aimerai juste donnée un aperçu de la news sur ma page d'accueil et pour ça, je ferai affiché le titre et les xxx premiers caracteres de la news.

ma question est donc comment je peus faire pour ne faire afficher que les xxx premier caractaire de la news ?