Comment utiliser la fonction PHP substr() pour tronquer des chaînes longues et ajouter des points de suspension
(PHP 4, PHP 5)
substr() — Retourne un segment de chaîne
Alors, disons que vous avez une longue chaîne dans une variable nommée foo, et une variable vide nommé bar :
$foo = "Comment utiliser la fonction PHP substr() pour tronquer des chaînes longues et ajouter des points de suspension" ;
$bar = "" ;
et supposons que vous vouliez couper cette chaîne jusqu'à quarante et deux caractères afin que le résultat serait :
"Comment utiliser la fonction PHP substr() "
Pour ce faire, nous utilisons une seule commande PHP appelée substr()
La fonction substr () renvoie une partie d'une chaîne.
substr (chaîne, début, longueur)
Paramètre |
Description |
chaîne |
Requis. Spécifie la chaîne pour renvoyer une partie de |
début |
Requis. Spécifie où commencer dans la chaîne Si début est positif, la chaîne retournée commencera au caractère numéro début , dans la chaîne string . Le premier caractère est numéroté zéro. Actuellement, dans la chaîne 'abcdef', le caractère à la position 0 est 'a', le caractère à la position 2 est 'c', et ainsi de suite. Si début est négatif, la chaîne retournée commencera au caractère numéro début à compter de la fin de la chaîne . Si la chaîne est plus petit ou égal à début caractères de long, FALSE sera retourné.
|
longueur |
Facultatif. Spécifie la longueur de la chaîne retournée. Par défaut c’est la fin de la chaîne. Si longueur est fourni et est positif, la chaîne retournée contiendra au plus longueur caractères, en commençant à partir du caractère début (en fonction de la taille de la chaîne). Si longueur est fourni et négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne. Si début représente une position hors de la chaîne, une chaîne vide sera retournée. Si le paramètre longueur est fourni et vaut 0, FALSE ou NULL , une chaîne vide sera retournée. Si longueur est omis, la sous chaine commençant à partir de début jusqu'à la fin sera retournée. |
Revenons à notre chaîne dans la variable $foo. Puisque nous voulons commencer au début de la chaîne, nous allons utiliser 0 comme l'index de départ car, comme tous les tableaux, notre chaîne commence à l'index 0, au lieu de 1. Pour la logueur, nous allons utiliser 42, parce que c'est ce que nous avons décidé. Et donc le code ressemble à :
Sélectionner le code
$bar = substr($foo,0,42) ;
echo $bar ;/* « ce qui affiche: Comment utiliser la fonction PHP substr() »*/
/* Mais, comme je l'ai promis je vous montrerais comment ajouter des points de suspension :*/
$bar = substr($foo,0,40). "...";
echo $bar ; /* « ce qui affiche: Comment utiliser la fonction PHP substr() ...»*/
Supposons maintenant que nous voulons afficher un nombre de caractères en commençant depuis la fin de notre chaîne.
Nous allons toujours utiliser la fonction php substr(), mais avec un index de début négatif, ce qui donne par exemple -1 pour commencer depuis le premier caractère à partir de la fin de notre chaîne, -2 pour le second caractère et ainsi desuite.
<?php
$rest = substr("abcdef", -1); // retourne "f"
$rest = substr("abcdef", -2); // retourne "ef"
$rest = substr("abcdef", -3, 1); // retourne "d"
?>
<?php
echo substr('abcdef', 1); // retourne bcdef
echo substr('abcdef', 1, 3); // retourne bcd
echo substr('abcdef', 0, 4); // retourne abcd
echo substr('abcdef', 0, 8); // retourne abcdef
echo substr('abcdef', -1, 1); // retourne f
<?php
// Accéder à un simple caractère dans une chaîne
// peut également être réalisé en utilisant des crochets
$chaineing = 'abcdef';
echo $chaineing[0]; // a
echo $chaineing[3]; // d
echo $chaineing[strlen($chaineing)-1]; // f
?>
Dans cet exemple nous voulons un morceau de chaîne de caractère compris entre deux autres morceaux.
Soit la variable de chaîne :
$foo= " un morceau de chaîne de caractère compris entre deux autres " ;
et les variables : $a= " un morceau de" : et $b= " deux autres " ;
Nous voulons le morceau de chaîne de caractère compris entre $a et $b (c’est à dire entre "un morceau " et "deux autres".
Nous allons utiliser deux fonctions :
la fonction substr() et la fonction strpos()
pour encadrer la chaîne recherchée : soit " chaîne de caractère compris entre ".
<?php
function get_between($input, $start, $end)
{
$substr = substr($input, strlen($start)+strpos($input, $start), (strlen($input) - strpos($input, $end))*(-1));
return $substr;
}
//Exemple:
$foo = " un morceau de chaîne de caractère compris entre deux autres ";
$a = " un morceau de";
$b = "deux autres";
echo get_between($foo, $a, $b);
//Retourne:
//chaîne de caractère compris entre
?>
Fonction precedente: |
Fonction suivante: |
Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.
GAGNER DE L'ARGENT