mb_strripos

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

mb_strripos Находит последнее вхождение подстроки в строку без учёта регистра

Описание

mb_strripos(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?string $encoding = null
): int|false

Функция mb_strripos() выполняет безопасную многобайтовую операцию strripos(), основываясь на количестве символов. Позиция подстроки needle рассчитывается с начала строки haystack. Позиция первого символа — 0. Второго символа — 1. Функция mb_strripos(), в отличие от функции mb_strrpos(), не чувствительна к регистру.

Список параметров

haystack

Строка, в которой функция будет искать позицию последнего вхождения подстроки needle.

needle

Подстрока для поиска в строке haystack.

offset

Позиция в строке haystack, с которой нужно начать поиск.

encoding

Название кодировки символов. Если на задана, будет использована внутренняя кодировка символов.

Возвращаемые значения

Возвращает число — позицию последнего вхождения подстроки needle в строку haystack либо false, если подстрока needle не найдена.

Список изменений

Версия Описание
8.0.0 needle теперь принимает пустую строку.
8.0.0 Теперь параметр encoding принимает значение null.

Смотрите также

  • strripos() - Возвращает позицию последнего вхождения подстроки без учёта регистра
  • strrpos() - Возвращает позицию последнего вхождения подстроки в строке
  • mb_strrpos() - Ищет позицию последнего вхождения подстроки в строку

Добавить

Примечания пользователей 2 notes

up
0
easai
15 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
8 years ago
<?phpfunction 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