# grapheme_substr

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

grapheme_substr — Devolver parte de una cadena

### Descripción

Estilo por procedimientos

grapheme_substr(string `$string`, int `$start`, int `$length` = ?): int

Devuelve parte de una cadena

### Parámetros

`string`

  La cadena de entrada. Debe ser válida en UTF-8.

`start`

  Posición de inicio en unidades predeterminadas de grafema. Si $start es no negativo, la cadena devuelta comenzara en la posición $start-ésima de $string, contando desde cero. Si $start is negativo, la cadena devuelta comenzará en la unidad de grafema $start-ésima desde el final de la cadena.

`length`

  La longitud en unidades de grafema. Si se propoiciona $length y es positivo, la cadena devuelta contendrá como máximo $length unidades de grafema comenzando desde $start (dependiendo de la longitud de la cadena). Si se proporciona $length y es negativo, esas tantas unidades de grafema serán omitidas desde el final de la cadena (después de que la posición inicial haya sido calculada cuando un inicio es negativo). Si $start denota una posición más allá de este truncamiento, se devolverá `false`.

### Valores devueltos

Devuelve la parte extraída de $string.

### Historial de cambios

Versión | Descripción
--- | ---
5.4 | Si se proporciona `length` y es positivo, y el argumento string es más corto que la longitud especificada, se devuelve el resto de la cadena de acuerdo al parámetro `start`. Anteriormente devolvía `false`.

### Ejemplos

Ejemplo #1 Ejemplo de grapheme_substr()

`<?php
$carácter_a_anillo_nfd = "a\xCC\x8A"; // 'LETRA MINÚSCULA LATINA A CON ANILLO SUPERIOR' (U+00E5) forma de normalización "D"
$carácter_o_diéresis_nfd = "o\xCC\x88"; // 'LETRA MINÚSCULA LATINA O CON DIÉRESIS' (U+00F6) forma de normalización "D"
print urlencode(grapheme_substr( "ao" . $carácter_a_anillo_nfd . "bc" . $carácter_o_diéresis_nfd . "O", 2, -1 ));
?>`

El resultado del ejemplo sería:

    a%CC%8Abco%CC%88

### Ver también

- grapheme_extract() - Función para extraer una secuencia de un clúster de grafemas predeterminados desde un buffer de texto, que puede estar codificado en UTF-8
- » Segementación de Texto Unicode: Límites de Grupos de Grafemas