1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| function texte_resume_brut($texte, $nbreCar)
{
$texte = trim(strip_tags($texte)); // suppression des balises HTML
if(is_numeric($nbreCar))
{
$PointSuspension = '...'; // points de suspension
// $PointSuspension = ''; // (décommentez si vous ne voulez pas de points de suspension)
// ---------------------
$LongueurAvant = mb_strlen($texte);
// ponctuations : on ajoute un esapce après
$texte = str_replace(array('.',',',';',':','!','?','、','。',' '), array('. ',', ','; ',': ','! ','? ','、 ','。 ',' '), $texte);
// COUPE DU TEXTE pour le RÉSUMÉ
if ($LongueurAvant > $nbreCar) {
// ajout d'un espace de fin au cas où le texte n'en contiendrait pas...
$texte .= ' ';
// pour ne pas couper un mot, on va à l'espace suivant
$texte = mb_substr($texte, 0, strpos($texte, ' ', $nbreCar));
// On ajoute (ou pas) des points de suspension à la fin si le texte brut est plus long que $nbreCar
if ($PointSuspension!='') {
$texte .= $PointSuspension;
}
}
// ---------------------
}
// On renvoie le résumé du texte correctement formaté.
return '('.$LongueurAvant.') '.$texte;
}; |
Partager