strrpos / strripos în PHP

Șiruri de caractere PHP 4+ (strripos: PHP 5.0+)

Găsește poziția ultimei apariții a unui text în alt text.

Sintaxă
strrpos(string $haystack, string $needle, int $offset = 0): int|false

Ce face strrpos / strripos

strrpos caută de la sfârșitul textului și returnează poziția ultimei apariții (numărată tot de la începutul textului, de la 0). Dacă nu găsește nimic, returnează false.

strripos face același lucru fără să țină cont de litere mari și mici. Ambele sunt utile pentru extensii de fișiere, ultima bucată dintr-o cale sau ultimul cuvânt dintr-o propoziție.

Parametri

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

Ce returnează

Poziția ultimei apariții sau false.

Exemple

Exemplul 1: Prima și ultima apariție

<?php
$text = "mere, pere, mere";

echo strpos($text, "mere") . "\n";
echo strrpos($text, "mere");

Rezultat

0
12

Exemplul 2: Extensia unui fișier

<?php
$fisier = "poza.vacanta.Iasi.JPG";

$punct = strrpos($fisier, ".");
echo substr($fisier, $punct + 1) . "\n";
echo strripos($fisier, ".jpg");

Rezultat

JPG
17

Greșeli frecvente

  • Folosești rezultatul direct în substr fără să verifici false. Dacă fișierul nu are punct, false + 1 devine 1 și obții un rezultat greșit.

Comenzi înrudite

  • strpos: Găsește poziția primei apariții a unui text în alt text.
  • strrchr: Returnează partea dintr-un text care începe cu ultima apariție a unui caracter.
  • substr: Extrage o bucată dintr-un text, pornind de la o anumită poziție.