grapheme_substr

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

grapheme_substrRetorna parte de uma string

Descrição

Estilo procedural

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

Retorna parte de uma string.

Parâmetros

string

A string de entrada. Deve ser em UTF-8 válido.

offset

Posição de início em unidades padrão de grafema. Se offset for não negativo, a string retornada iniciará na posição offset da string, contando a partir de zero. Se offset for negativo, a string retornada iniciará no posição offset em unidades de grafema contada a partir do final da string.

length

Comprimento em unidades de grafema. Se length for informado e positivo, a string retornada conterá, no máximo, a quantidade de grafemas informada em length, iniciando de offset (dependendo do comprimento da string). Se length for informado e negativo, representará as unidades de grafema que serão omitidas no final da string (depois da posição de início calculada quando offset é negativo). Se offset denotar uma posição além deste truncamento, uma string vazia será retornada.

Valor Retornado

Retorna a parte extraída da string, ou false em caso de falha.

Registro de Alterações

Versão Descrição
8.0.0 A função agora consistentemente function now consistently clamps out-of-bounds offsets to the string boundary. Previously, false was returned instead of the empty string in some cases.

Exemplos

Example #1 Exemplo de grapheme_substr()

<?php

$char_a_ring_nfd = "a\xCC\x8A";  // 'LATIN SMALL LETTER A WITH RING ABOVE' (U+00E5) NFD
$char_o_diaeresis_nfd = "o\xCC\x88"; // 'LATIN SMALL LETTER O WITH DIAERESIS' (U+00F6) NFD

print urlencode(grapheme_substr( "ao" . $char_a_ring_nfd . "bc" . $char_o_diaeresis_nfd . "O", 2, -1 ));
?>

O exemplo acima produzirá:

a%CC%8Abco%CC%88

Veja Também