(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_strpos — Вычисляет позицию первого вхождения подстроки в графемных кластерах
Процедурный стиль
Функция находит позицию первого вхождения подстроки. Позиция вычисляется в графемных кластерах.
haystackСтрока по стандарту UTF-8, в которой требуется найти подстроку.
needleПодстрока по стандарту UTF-8, которую требуется найти.
offset
Необязательный параметр offset указывает смещение,
с которого начнётся поиск в строке haystack. Смещение вычисляется в графемных кластерах, а не в байтах или символах.
Отрицательные смещения отсчитываются с конца строки,
но позиция по-прежнему вычисляется с начала строки haystack, независимо от значения параметра offset.
locale
Функция возвращает позицию в виде целого числа. Функция grapheme_strpos()
вернёт значение false, если не найдёт подстроку needle.
| Версия | Описание |
|---|---|
| 8.5.0 |
Добавили необязательный параметр locale.
|
| 7.1.0 |
Параметр offset теперь поддерживает отрицательные значения.
|
Пример #1 Пример использования grapheme_strpos()
<?php
// Символ | Название | Кодовая точка | Форма нормализации
// å: 'LATIN SMALL LETTER A WITH RING ABOVE', U+00E5, NFD
$char_a_ring_nfd = "a\xCC\x8A";
// ö: 'LATIN SMALL LETTER O WITH DIAERESIS', U+00F6, NFD
$char_o_diaeresis_nfd = "o\xCC\x88";
print grapheme_strpos(
$char_a_ring_nfd . $char_a_ring_nfd . $char_o_diaeresis_nfd,
$char_o_diaeresis_nfd
);Результат выполнения приведённого примера:
2