mb_strrchr / mb_strrichr în PHP

Returnează partea unui text de la ultima apariție a unui subșir (sau dinaintea ei), corect pentru UTF-8.

Sintaxă
mb_strrchr(string $haystack, string $needle, bool $before_needle = false, ?string $encoding = null): string|false

Ce face mb_strrchr / mb_strrichr

mb_strrchr caută ultima apariție a lui $needle și returnează tot ce urmează, inclusiv acesta. Cu $before_needle = true returnează partea dinainte. Spre deosebire de strrchr, $needle poate avea mai multe caractere.

mb_strrichr face același lucru fără să țină cont de majuscule.

Parametri

Parametru Descriere
$haystack Textul în care se caută.
$needle Textul căutat.
$before_needle Opțional. true returnează partea dinaintea ultimei apariții.
$encoding Opțional. Codarea textului.

Ce returnează

Bucata de text sau false.

Exemple

Exemplul 1: Fișierul și directorul dintr-o cale

<?php
$cale = "poze/vacanță/Țara Hațegului.jpg";

echo mb_strrchr($cale, "/") . "\n";
echo mb_strrchr($cale, "/", true);

Rezultat

/Țara Hațegului.jpg
poze/vacanță

Exemplul 2: Ultima apariție, fără majuscule

<?php
var_dump(mb_strrichr("Ana ARE mere și are pere", "are"));

Rezultat

string(8) "are pere"

Greșeli frecvente

  • Te aștepți ca rezultatul să înceapă după separator. Separatorul este inclus: "/Țara Hațegului.jpg".

Comenzi înrudite

  • strrchr: Returnează partea dintr-un text care începe cu ultima apariție a unui caracter.
  • mb_strstr / mb_stristr: Returnează partea unui text de la prima apariție a unui subșir (sau dinaintea ei), corect pentru UTF-8.
  • mb_strrpos / mb_strripos: Găsește poziția ultimei apariții a unui text, numărată în caractere.