mb_strripos

(PHP 5 >= 5.2.0, PHP 7)

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

Opis

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

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.

Parametry

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.

Zwracane wartości

Return the numeric position of the last occurrence of needle in the haystack string, or FALSE if needle is not found.

Zobacz też:

  • strripos() - Find the position of the last occurrence of a case-insensitive substring in a string
  • strrpos() - Znajduje pozycję ostatniego wystąpienia znaku w ciągu znaków
  • 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
1
easai
13 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
0
ivrokrambler at gmail dot com
6 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