mb_strrpos
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_strrpos — Поиск позиции последнего вхождения одной строки в другую
Описание
$haystack
, string $needle
[, int $offset
= 0
[, string $encoding
= mb_internal_encoding()
]] )
Выполняет безопасную с точки зрения многобайтных кодировок операцию
strrpos() , основываясь на количестве символов.
Позиция строки needle
расcчитывается с начала строки haystack
. Позиция
первого символа 0. Второго символа 1.
Список параметров
-
haystack
-
Строка string, в которой производится поиск вхождения
needle
. -
needle
-
Строка string, поиск которой производится в строке
haystack
. -
offset
- Если аргумент задан, поиск вхождения будет начинаться с позиции offset в строке string. Если передано отрицательное значение, операция поиска остановится на позиции строки string offset, отсчитываемой с конца строки.
-
encoding
-
Параметр
encoding
представляет собой символьную кодировку. Если он опущен, вместо него будет использовано значение внутренней кодировки.
Возвращаемые значения
Возвращает позицию последнего вхождения строки needle
в строке haystack
string либо FALSE
,
если needle
не найдена.
Список изменений
Версия | Описание |
---|---|
5.2.0 |
Добавлен необязательный аргумент offset .
|
Примечания
Замечание: Аргумент
encoding
перемещен с третьего места в списке на четвертое в PHP 5.2.0. Для обратной совместимости аргументencoding
может быть задан как третий аргумент, однако эта возможность считается устаревшей и вскоре будет удалена.
Смотрите также
- mb_strpos() - Поиск позиции первого вхождения одной строки в другую
- mb_internal_encoding() - Установка/получение внутренней кодировки скрипта
- strrpos() - Возвращает позицию последнего вхождения подстроки в строке
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Поддержка языков и кодировок
- Многобайтные строки
- mb_check_encoding
- mb_convert_case
- mb_convert_encoding
- mb_convert_kana
- mb_convert_variables
- mb_decode_mimeheader
- mb_decode_numericentity
- mb_detect_encoding
- mb_detect_order
- mb_encode_mimeheader
- mb_encode_numericentity
- mb_encoding_aliases
- mb_ereg_match
- mb_ereg_replace_callback
- mb_ereg_replace
- mb_ereg_search_getpos
- mb_ereg_search_getregs
- mb_ereg_search_init
- mb_ereg_search_pos
- mb_ereg_search_regs
- mb_ereg_search_setpos
- mb_ereg_search
- mb_ereg
- mb_eregi_replace
- mb_eregi
- mb_get_info
- mb_http_input
- mb_http_output
- mb_internal_encoding
- mb_language
- mb_list_encodings
- mb_output_handler
- mb_parse_str
- mb_preferred_mime_name
- mb_regex_encoding
- mb_regex_set_options
- mb_send_mail
- mb_split
- mb_strcut
- mb_strimwidth
- mb_stripos
- mb_stristr
- mb_strlen
- mb_strpos
- mb_strrchr
- mb_strrichr
- mb_strripos
- mb_strrpos
- mb_strstr
- mb_strtolower
- mb_strtoupper
- mb_strwidth
- mb_substitute_character
- mb_substr_count
- mb_substr
Коментарии
mb_strrpos throws a warning if $haystack is empty.
strrpos simply returns FALSE.
This is something to be wary of if overloading the mb functions.
"Negative values will stop searching at an arbitrary point prior to the end of the string. " ist misleading.
The needle may not fully part of searchrange, defined by a negative offset.
A negative offsets marks the last byte, where a search could start.
<?php
$test = "Hallo, Herr Gött";
var_dump(strlen($test)); // int(17)
var_dump(mb_strrpos($test,'ött',13)); // int(13)
var_dump(mb_strrpos($test,'ött',-4)); // int(13) 17-4 = 13
var_dump(mb_strrpos($test,'ött',-5)); // bool(false)
?>