PHP Conference Nagoya 2025

mb_strripos

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

mb_strriposBir dizgenin içinde harf büyüklüğüne duyarsız olarak başka bir dizgeye son rastlanılan noktanın indisini döndürür

Açıklama

mb_strripos(
    string $samanlık,
    string $iğne,
    int $başlangıç = 0,
    ?string $kodlama = null
): int|false

Karakter sayısına dayalı olarak güvenilir bir çok baytlı strripos() işlemi yürütür. iğne'nin ilk karakterinin yeri samanlık dizgesinin ilk karakterine göre hesaplanır. İlk karakterin indisi 0'dır. mb_strrpos() işlevinden farklı olarak mb_strripos() harf büyüklüğüne duyarsızdır.

Bağımsız Değişkenler

samanlık

Sonuncu iğne'nin aranacağı dizge.

iğne

samanlık içinde sonuncusu aranacak dizge.

başlangıç

samanlık içinde aramanın başlatılacağı konum.

kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Sonuncu iğne'nin samanlık içinde bulunduğu yerin indisi ile döner. Eğer samanlık içinde iğne yoksa false döndürür.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 iğne artık boş dizge kabul ediyor.
8.0.0kodlama artık null olabiliyor.

Ayrıca Bakınız

  • strripos() - Bir dizgede harf büyüklüğüne duyarsız olarak bir alt dizgenin sonuncusunu bulur
  • strrpos() - Bir dizgede bir karakterin sonuncusunu bulur
  • mb_strrpos() - Bir dizgenin içinde başka bir dizgeye son rastlanılan noktanın indisini döndürür

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