# grapheme_substr

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

grapheme_substr — Retourne une partie d'une chaîne

### Description

Style procédural

grapheme_substr(string `$string`, int `$offset`, ?int `$length` = `null`): string|false

Retourne une partie d'une chaîne.

### Liste de paramètres

`string`

  La chaîne à couper. Doit être UTF-8 et valide.

`offset`

  Position de départ en unités de graphème par défaut. Si `offset` est strictement positif, la chaîne renvoyée commencera à la `offset` ème position dans `string`, en comptant à partir de zéro. Si `offset` est négatif, la chaîne renvoyée commencera à la `offset` ème unité de graphème à partir de la fin de la chaîne.

`length`

  La taille de la sous-chaîne à extraire, en unités de graphème. Si `length` est donné et positif, la chaîne retournée va contenir au plus `length` graphèmes, commençant à `offset` (en fonction de la taille de la chaîne). Si `length` est fourni et est négatif, alors autant de graphème seront omis à partir de la fin de la chaîne (après que la position de début ait été calculé, lorsque `offset` est aussi négatif). Si `offset` dénote une position au-delà de la fin de la chaîne,une chaîne vide sera retournée.

### Valeurs de retour

Retourne la partie de chaîne extraite de `string`, ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.0.0 | La fonction fixe désormais systématiquement les décalages hors limites à la limite de la chaîne de caractères. Auparavant, `false` était retourné au lieu de la chaîne vide dans certains cas.

### Exemples

Exemple #1 Exemple avec grapheme_substr()

`<?php
$char_a_ring_nfd = "a\xCC\x8A"; // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) normalization form "D"
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) normalization form "D"
print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>`

L'exemple ci-dessus va afficher :

    a%CC%8Abco%CC%88

### Voir aussi

- grapheme_extract() - Extrait un groupe de graphème d'une chaîne UTF-8
- » Unicode Text Segmentation: Grapheme Cluster Boundaries