mb_strripos

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

mb_strriposEncontra a posição da última ocorrência de uma string em outra, sem diferenciar maiúsculas de minúsculas

Descrição

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

mb_strripos() realiza uma operação multi-byte segura de strripos() com base no número de caracteres. A posição de needle é contada a partir do início de haystack. A posição do primeiro caractere é 0. A posição do segundo caractere é 1. Ao contrário de mb_strrpos(), mb_strripos() é insensível a maiúsculas e minúsculas.

Parâmetros

haystack

A string da qual obter a posição da última ocorrência de needle

needle

A string a ser encontrada em haystack

offset

A posição em haystack para começar a busca

encoding

Nome do conjunto de caracteres a ser usado. Se omitido, é usado o conjunto de caracteres interno.

Valor Retornado

Retorna a posição numérica da última ocorrência de needle na string haystack, ou false se needle não for encontrada.

Registro de Alterações

Versão Descrição
8.0.0 O parâmetro needle agora aceita uma string vazia.
8.0.0 O parâmetro encoding agora pode ser nulo.

Veja Também

  • strripos() - Encontra a posição da última ocorrência de uma substring em uma string, insensível a miúsculas/minúsculas
  • strrpos() - Encontra a posição da última ocorrência de uma substring em uma string
  • mb_strrpos() - Encontra a posição da última ocorrência de uma string em outra string

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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