RÉDUIRE UN TEXTE À N CARACTÈRES SANS COUPER DE MOT

bono62 - 21 août 2012 à 14:01
 luzzbe - 30 janv. 2016 à 13:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/54535-reduire-un-texte-a-n-caracteres-sans-couper-de-mot

Super function merci bcp
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
23 août 2012 à 11:44
Salut,

Je trouve que tu te compliques bien la vie avec cette fonction. En utilisant les fonctions de traitement des chaînes de PHP on arrive au même but bien plus rapidement :

function first_words($str, $nb_chr = 20) {
$sep = '<{{--split--}}>';
return strstr(wordwrap($str, $nb_chr, $sep), $sep, true);
}
Un détail important, c'est que les fonctions de regex POSIX (ereg_replace par exemple) sont obsolètes selon la doc. Il est préférable d'utiliser les fonctions regex PCRE (preg_* et sans compter qu'il y a des avantages à utiliser PCRE)

Et perso, j'utilise plutôt ça : http://pastebin.com/1c6BTssc
Comme ça, si je dois utiliser des chaines Unicode, il me suffit de charger la librairie mbstring et de préfixer les fonctions de traitement de chaines par "mb_"
Rejoignez-nous