PHP Conference Nagoya 2025

grapheme_substr

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

grapheme_substrRetourne 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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top