(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
grapheme_strrpos — Вычисляет позицию последнего вхождения подстроки в графемных кластерах
Процедурный стиль
$haystack,$needle,$offset = 0,$locale = ""Функция находит позицию последнего вхождения подстроки. Позиция вычисляется в графемных кластерах.
haystackСтрока по стандарту UTF-8, в которой требуется найти подстроку.
needleПодстрока по стандарту UTF-8, которую требуется найти.
offset
Необязательный параметр offset указывает смещение,
с которого начнётся поиск в строке haystack. Смещение вычисляется в графемных кластерах, а не в байтах или символах.
Отрицательные смещения отсчитываются с конца строки,
но позиция по-прежнему вычисляется с начала строки haystack, независимо от значения параметра offset.
locale
Функция возвращает позицию в виде целого числа. Функция grapheme_strrpos()
вернёт false, если не найдёт подстроку needle.
| Версия | Описание |
|---|---|
| 8.5.0 |
Добавили необязательный параметр locale.
|
| 7.1.0 |
Параметр offset теперь поддерживает отрицательные значения.
|
Пример #1 Пример поиска позиции последнего вхождения подстроки функцией grapheme_strrpos()
<?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_strrpos(
$char_a_ring_nfd . $char_o_diaeresis_nfd . $char_o_diaeresis_nfd,
$char_o_diaeresis_nfd
);Результат выполнения приведённого примера:
2