Fonction substr

La fonction substr extrait et retourne une sous-chaîne d'une chaîne de caractères. La chaîne elle-même n'est pas modifiée. Le premier paramètre de la fonction prend une chaîne, le second - la position du caractère à partir duquel commencer l'extraction, et le troisième - le nombre de caractères. Notez que la numérotation des caractères de la chaîne commence à zéro.

Le deuxième paramètre peut être négatif - dans ce cas, le décompte commencera depuis la fin de la chaîne, le dernier caractère aura alors le numéro -1.

Le troisième paramètre peut être omis - dans ce cas, l'extraction se fera jusqu'à la fin de la chaîne.

La fonction ne gère correctement que les caractères latins (caractères sur un seul octet).

Syntaxe

phpsubstr(string $string, int $offset, ?int $length = null): string

Exemple

Extrayons 3 caractères de la chaîne à partir de la position 1 (à partir du deuxième caractère, car le premier a le numéro 0) :

php<?php
  echo substr('abcde', 1, 3);
?>

Résultat de l'exécution du code :

php'bcd'

Exemple

Extrayons tous les caractères jusqu'à la fin de la chaîne, en commençant par le deuxième (il a le numéro 1) :

php<?php
  echo substr('abcde', 1);
?>

Résultat de l'exécution du code :

php'bcde'

Exemple

Extrayons le troisième et le deuxième caractères depuis la fin, pour cela indiquons le début de l'extraction à -3 (c'est le numéro du troisième caractère depuis la fin), et le nombre de caractères - 2 :

php<?php
  echo substr('abcde', -3, 2);
?>

Résultat de l'exécution du code :

php'cd'

Exemple

Extrayons les 2 derniers caractères, pour cela indiquons la position de l'avant-dernier caractère (qui est -2), et ne précisons pas le troisième paramètre - dans ce cas, l'extraction se fera jusqu'à la fin de la chaîne :

php<?php
  echo substr('abcde', -2);
?>

Résultat de l'exécution du code :

php'de'

Exemple

Extrayons le dernier caractère :

php<?php
  echo substr('abcde', -1);
?>

Résultat de l'exécution du code :

php'e'

Voir aussi

  • la fonction substr_replace,
    qui extrait une partie d'une chaîne et la remplace par une autre