grapheme_stripos

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

grapheme_striposНаходит позицию (в единицах графемы) первого появления строки без учёта регистра

Описание

Процедурный стиль

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

Находит позицию (в единицах графемы) первого появления строки без учёта регистра.

Список параметров

haystack

Строка для поиска. Должна быть корректным UTF-8.

needle

Строка, которую нужно найти. Должна быть корректным UTF-8.

offset

Необязательный параметр $offset позволяет указать, где в $haystack начинать поиск в виде смещения в единицах графемы (не в байтах или символах). Если смещение отрицательное, оно обрабатывается относительно конца строки. Возвращённая позиция по-прежнему относительно начала $haystack, независимо от значения $offset.

Возвращаемые значения

Возвращает позицию как целое число. Если вхождение needle не найдено, grapheme_stripos() вернёт false.

Список изменений

Версия Описание
7.1.0 Добавлена поддержка отрицательных значений offset.

Примеры

Пример #1 Пример использования grapheme_stripos()

<?php

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

print grapheme_stripos$char_a_ring_nfd $char_a_ring_nfd $char_o_diaeresis_nfd$char_O_diaeresis_nfd);

?>

Результат выполнения данного примера:

2

Смотрите также

add a note add a note

User Contributed Notes 1 note

up
1
Anonymous
3 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