iconv_substr

iconv_substr($string, $offset, $length, $encoding)

Renvoie une partie d’un texte à partir du caractère donné. Elle compte en caractères, elle ne coupe donc pas les lettres accentuées. Elle correspond à la fonction mb_substr() de l’extension mbstring.

Paramètres

  • $string – le texte.
  • $offset – le premier caractère (à partir de 0). Une valeur négative compte depuis la fin.
  • $length – facultatif, le nombre de caractères. Sans lui, jusqu’à la fin, une valeur négative omet autant de caractères à la fin.
  • $encoding – facultatif, l’encodage du texte. La valeur par défaut vient des réglages de PHP (en général UTF-8).

Exemples

echo iconv_substr("Crème brûlée", 6, 4); // brûl
// un début négatif compte depuis la fin
echo iconv_substr("Crème brûlée", -3); // lée
// sans longueur, jusqu'à la fin
echo iconv_substr("café", 1); // afé

Points d’attention

  • Un début au-delà de la fin du texte : PHP 7.4 renvoie false, PHP 8 une chaîne vide. Un début exactement à la fin renvoie une chaîne vide dans les deux cas.
  • Pour un texte invalide, elle affiche une notice et renvoie false.
  • Si le serveur a l’extension mbstring, on utilise plutôt mb_substr(). Les résultats sont les mêmes pour un UTF-8 valide.

Fonctions associées :
mb_substr()
substr()
iconv_strpos()
iconv_strlen()
mb_strcut()