mb_strrpos
(PHP 4 >= 4.0.6, PHP 5)
mb_strrpos — Find position of last occurrence of a string in a string
Description
$haystack
, string $needle
[, int $offset
= 0
[, string $encoding
= mb_internal_encoding()
]] )
Performs a multibyte safe
strrpos() operation based on the
number of characters. needle
position is
counted from the beginning of
haystack
. First character's position is
0. Second character position is 1.
Parameters
-
haystack
-
The string being checked, for the last occurrence of
needle
-
needle
-
The string to find in
haystack
. -
offset
- May be specified to begin searching an arbitrary number of characters into the string. Negative values will stop searching at an arbitrary point prior to the end of the string.
-
encoding
-
The
encoding
parameter is the character encoding. If it is omitted, the internal character encoding value will be used.
Return Values
Returns the numeric position of
the last occurrence of needle
in the
haystack
string. If
needle
is not found, it returns FALSE
.
Changelog
Version | Description |
---|---|
5.2.0 | Added the optional parameter offset . |
Notes
Note: The
encoding
parameter was moved from the third position to the fourth in PHP 5.2.0. For backward compatibility,encoding
can be specified as the third parameter, but doing so is deprecated and will be removed in the future.
See Also
- mb_strpos() - Find position of first occurrence of string in a string
- mb_internal_encoding() - Set/Get internal character encoding
- strrpos() - Find the position of the last occurrence of a substring in a string
- 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)
?>