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 29 30 31 32 33 34 35 36 37 38 39
|
<?php
/*
$chaine représente la chaîne à découper
Si 'debut' est positif, la chaîne retournée commencera au caractère numéro 'debut', dans la chaîne 'chaine'. Le premier caractère est numéroté zéro.
Si 'debut' est négatif, la chaîne retournée commencera au caractère numéro 'debut' à compter de la fin de la chaîne 'chaine'.
Si 'max' est fourni et est positif, la chaîne retournée contiendra au plus 'max' caractères, en commençant à partir du caractère 'debut' (en fonction de la taille de la chaîne 'chaine').
Si 'chaine' est plus petite que 'debut', substr() retournera FALSE.
Si 'max' est fourni et négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne 'chaine'. Si 'debut' représente une position hors de la chaîne, une chaîne vide sera retournée.
$ponct représente le bout de chaîne [...], mais vous pouvez mettre ce qui vous plaira
$url représente le lien de la chaîne [...], en général il s'agit du lien de l'article complet.
*/
// Début de la fonction
function truncate($chaine,$debut,$max,$url,$ponct=' [...]')
{
if (strlen($chaine) >= $max)
{
$chaine = substr($chaine, $debut, $max);
$espace = strrpos($chaine, " ");
$chaine = substr($chaine, $debut, $espace).' <a href="'.$url.'"> '.$ponct.'</a>';
return $chaine;
}
}
// Exemple avec un bout de texte
$texte = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Praesent id urna. Ut at
odio. Suspendisse sed lacus. Suspendisse nulla lectus, malesuada gravida, auctor et, dictum sit
amet, nisl. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In
nisi nunc, suscipit ac, dictum vitae, vestibulum et, nunc. Pellentesque dapibus ante a ante. Morbi
dui magna, tincidunt in, pulvinar pellentesque, accumsan malesuada, dolor. Vestibulum tempor nibh in
justo. Vestibulum ante justo, posuere quis, suscipit id, tristique id, diam. Curabitur cursus rutrum
sem.";
// Affichage par exemple du texte en commencant au premier caractère, jusqu'à l'emplacement du caractère 70
echo truncate($texte, 0, 70, "http://www.adresse.com");
?> |
Partager