array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.grapheme-substr.php', 1 => 'grapheme_substr', ), 'up' => array ( 0 => 'ref.intl.grapheme.php', 1 => 'Funções de Grapheme', ), 'prev' => array ( 0 => 'function.grapheme-strstr.php', 1 => 'grapheme_strstr', ), 'next' => array ( 0 => 'ref.intl.idn.php', 1 => 'Funções de IDN', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/intl/grapheme/grapheme-substr.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_substr — Retorna parte de uma string
Estilo procedural
Retorna parte de uma string.
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.
Retorna a parte extraída da string
, ou false
em caso de falha.
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.
|
Exemplo #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