Bonsoir à tous,

Je suis confronté à un problème dans ma fonction qui tronque une chaine de caractère.
Si je tombe sur un caractère spécial html et/ou iso (du type ) je rencontre un problème. En effet si ma fonction tombe sur un ce type de caractère, l'affichage est affecté. Normal puisque le code iso est tronqué : il reste &#23.

Je pense donc pouvoir outre passer ce problème grâce à une expression régulière, mais je galère à la mettre en place et l'insérer ensuite au sein de ma fonction.

En vous remerciant par avance de l'aide que vous m'apporterez...

Voici ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
function coupeTexte($chaine, $longueur, $lien)
{
    $suffix = '...';
    $short_desc = trim(str_replace(array("\r","\n", "\t"), ' ', strip_tags($chaine)));
    $desc = trim(substr($short_desc, 0, $longueur));
    $lastchar = substr($desc, -1, 1);
		if ($lastchar == '.' || $lastchar == '!' || $lastchar == '?') $suffix='';
			$desc .= ' <a href="'.$lien.'" title="Lire la suite" >'.$suffix.'</a>';
		return $desc;
}