mb_strripos

(PHP 5 >= 5.2.0, PHP 7)

mb_strriposFinds position of last occurrence of a string within another, case insensitive

설명

int mb_strripos ( string $haystack , string $needle [, int $offset = 0 [, string $encoding = mb_internal_encoding() ]] )

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.

참고

  • strripos() - 문자열에서 대소문자 구분 없이 문자열의 마지막 위치를 찾습니다
  • strrpos() - 문자열에서 마지막 문자의 위치를 찾습니다
  • mb_strrpos() - Find position of last occurrence of a string in a string

add a note add a note

User Contributed Notes 2 notes

up
0
easai
14 years ago
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;
    }
?>
up
-1
ivrokrambler at gmail dot com
7 years ago
<?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)
To Top