PHP 8.5.0 Alpha 1 available for testing

grapheme_stripos

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

grapheme_striposEncuentra la posición en grafema de la primera ocurrencia en una cadena, insensible a mayúsculas/minúsculas

Descripción

Estilo por procedimientos

grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|false

Encuentra la posición en grafema de la primera ocurrencia en una cadena, realizando una búsqueda insensible a mayúsculas/minúsculas.

Parámetros

haystack

La cadena a examinar. Debe estar en formato UTF-8 válido.

needle

La cadena a buscar. Debe estar en formato UTF-8 válido.

offset

El parámetro offset permite especificar la posición en la haystack donde comienza la búsqueda, expresada en grafemas (y no en bytes o caracteres). Si el offset es negativo, se trata con respecto al final de la cadena de caracteres. La posición devuelta siempre se da con respecto al inicio de haystack, independientemente del valor de offset.

Valores devueltos

Devuelve la posición, en forma de entero. Si needle no es encontrado, grapheme_stripos() devuelve false.

Historial de cambios

Versión Descripción
7.1.0 Se añadió el soporte para offsets negativos.

Ejemplos

Ejemplo #1 Ejemplo con grapheme_stripos()

<?php

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

print grapheme_stripos( $char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd, $char_O_diaeresis_nfd);

?>

El resultado del ejemplo sería:

2

Ver también

add a note

User Contributed Notes 1 note

up
0
Anonymous
7 years ago
As expected, grapheme_stripos() does return boolean FALSE if the needle is not found in the haystack.
Use strict type comparison to check for that condition, like:

if (FALSE === grapheme_stripos('a', 'b')) {print 'Needle not found';}
To Top