Вычисляет позицию последнего вхождения подстроки в графемных кластерах

# grapheme_strrpos

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

grapheme_strrpos — Вычисляет позицию последнего вхождения подстроки в графемных кластерах

### Описание

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

function grapheme_strrpos(
string `$haystack`,
string `$needle`,
int `$offset` = 0,
string `$locale` = ""
): int|false

Функция находит позицию последнего вхождения подстроки. Позиция вычисляется в графемных кластерах.

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

`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

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

- grapheme_stripos() - Вычисляет позицию первого вхождения подстроки в графемных кластерах без учёта регистра
- grapheme_stristr() - Возвращает часть строки относительно первого вхождения подстроки без учёта регистра
- grapheme_strpos() - Вычисляет позицию первого вхождения подстроки в графемных кластерах
- grapheme_strripos() - Вычисляет позицию последнего вхождения подстроки в графемных кластерах без учёта регистра
- grapheme_strstr() - Возвращает часть строки относительно первого вхождения подстроки
- » Сегментация текста в Юникоде: Границы графемных кластеров

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open