Funciones de Grapheme
PHP Manual

grapheme_substr

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

grapheme_substr — Devolver parte de una cadena

Descripción

Estilo por procedimientos

int grapheme_substr ( string $string , int $start [, int $length ] )

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


Funciones de Grapheme
PHP Manual