mb_strrpos / mb_strripos în PHP

Șiruri multibyte (mb_) PHP 4.0.6+ (mb_strripos: PHP 5.2+)

Găsește poziția ultimei apariții a unui text, numărată în caractere.

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

Ce face mb_strrpos / mb_strripos

mb_strrpos este varianta multibyte a lui strrpos: caută ultima apariție, dar poziția returnată este în caractere, deci poate fi folosită direct cu mb_substr.

mb_strripos face același lucru fără să țină cont de majuscule, inclusiv la diacritice. Ambele returnează false dacă textul nu este găsit.

Parametri

Parametru Descriere
$haystack Textul în care se caută.
$needle Textul căutat.
$offset Opțional. Pozitiv: ignoră caracterele dinaintea poziției. Negativ: căutarea se oprește la atâtea caractere de final.
$encoding Opțional. Codarea textului.

Ce returnează

Poziția ultimei apariții, în caractere, sau false.

Exemple

Exemplul 1: Ultimul cuvânt dintr-un text cu diacritice

<?php
$text = "Școala de vară din Țăndărei";

$spatiu = mb_strrpos($text, " ");
echo strrpos($text, " ") . " / " . $spatiu . "\n";
echo mb_substr($text, $spatiu + 1);

Rezultat

20 / 18
Țăndărei

Exemplul 2: Fără majuscule

<?php
var_dump(mb_strripos("ȘCOALA și școala", "Școala"));

Rezultat

int(10)

Greșeli frecvente

  • Combini strrpos (octeți) cu mb_substr (caractere) și tai textul în alt loc decât vrei. Folosește funcții din aceeași familie.

Comenzi înrudite

  • strrpos / strripos: Găsește poziția ultimei apariții a unui text în alt text.
  • mb_strpos / mb_stripos: Găsește poziția unui text în alt text, numărată în caractere, nu în octeți.
  • mb_substr: Extrage o bucată dintr-un text după poziții în caractere, fără să strice diacriticele.
  • mb_strrchr / mb_strrichr: Returnează partea unui text de la ultima apariție a unui subșir (sau dinaintea ei), corect pentru UTF-8.