mb_strripos
(PHP 5 >= 5.2.0)
mb_strripos — Finds position of last occurrence of a string within another, case insensitive
Описание
mb_strripos() performs multi-byte safe strripos() operation based on number of characters. needle position is counted from the beginning of haystack . First character's position is 0. Second character position is 1. Unlike mb_strrpos(), mb_strripos() is case-insensitive.
Список параметров
- haystack
-
The string from which to get the position of the last occurrence of needle
- needle
-
The string to find in haystack
- offset
-
The position in haystack to start searching
- encoding
-
Character encoding name to use. If it is omitted, internal character encoding is used.
Возвращаемые значения
Return the numeric position of the last occurrence of needle in the haystack string, or FALSE if needle is not found.
- 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
Коментарии
Here are Java like startsWith/endsWith implementations in PHP.
<?php
function startsWith($haystack,$needle)
{
$res=FALSE;
if(mb_strripos($haystack,$needle,0,"utf-8")==0)
$res= TRUE;
return $res;
}
function endsWith($haystack,$needle)
{
$res=FALSE;
$len=mb_strlen($haystack);
$pos=$len-mb_strlen($needle);
if(mb_strripos($haystack,$needle,0,"utf-8")==$pos)
$res= TRUE;
return $res;
}
?>
<?php
function backStrpos($str, $needle, $offset){
$needler = backStr($needle);
$strr = backStr($str);
$offsetr = strlen($str) - 1 - $offset;
$posr = mb_stripos($strr, $needler, $offsetr);
return strlen($str) - 1 - $posr - strlen($needle);
}
function backStr($str){
$str = str_replace(array('<', '>'), array('>', '<'), $str);
return strrev($str);
}
function backStrpos($str, $needle, $offset){
$needler = backStr($needle);
$strr = backStr($str);
$offsetr = strlen($str) - 1 - $offset;
$posr = mb_stripos($strr, $needler, $offsetr);
return strlen($str) - 1 - $posr - strlen($needle);
}
function backStr($str){
$str = str_replace(array('<', '>'), array('>', '<'), $str);
return strrev($str);
}
$test = '<table><TR>TEXT</TR><TR>TEST</TR></table>';
$pos = mb_stripos($test, 'TEST', 0);
var_dump($pos);
var_dump(backStrpos($test, '<tr', $pos));
var_dump(backStrpos($test, '<tr', backStrpos($test, '<tr', $pos)));
------->
int(24)
int(19)
int(6)