mb_strripos

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

mb_strriposBusca la posicion de la última ocurrencia de un string dentro de otro string, insensible a mayúsculas/minúsculas

Descripción

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

Realiza una operación strpos() segura multibyte basada en el número de caracteres. La posición de needle se cuenta desde el comienzo de haystack. La posición del primer carácter es 0. La posición del segundo carácter es 1. A diferencia de mb_strrpos(), mb_strripos() es insensible a mayúsculas/minúsculas.

Parámetros

haystack

El string a comprobar, para la última ocurrencia de needle

needle

El string a buscar en haystack.

offset

La posición de haystack donde iniciar la búsqueda

encoding

El nombre de la codificación de caracteres a usar. Si se omite, se usará la codificación de caracteres interna.

Valores devueltos

evuelve la posición numérica de la última ocurrencia de needle en el string haystack, o false si no se encuentra needle.

Ver también

  • strripos() - Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string
  • strrpos() - Encuentra la posición de la última aparición de un substring en un string
  • mb_strrpos() - Busca la posicion de la última ocurrencia de un string en otro string

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