strpos în PHP

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

Sintaxă
strpos(string $text, string $cauta, int $start = 0): int|false

Ce face strpos

strpos returnează poziția (începând de la 0) la care apare prima dată textul căutat. Dacă nu îl găsește, returnează false.

Dacă vrei doar să afli dacă un text conține altul, în PHP 8 este mai simplu să folosești str_contains.

Parametri

Parametru Descriere
$text Textul în care se caută.
$cauta Textul căutat.
$start Opțional. Poziția de la care începe căutarea.

Ce returnează

Poziția găsită sau false.

Exemple

Exemplul 1: Poziția unui caracter

<?php
$email = "ana@exemplu.ro";

$pozitie = strpos($email, "@");
echo $pozitie . "\n";
echo substr($email, $pozitie + 1);

Rezultat

3
exemplu.ro

Exemplul 2: Verificarea corectă cu !==

Textul căutat poate fi chiar la poziția 0, iar 0 este considerat fals într-un if simplu.

<?php
$text = "PHP este distractiv";

if (strpos($text, "PHP") !== false) {
    echo "Am găsit PHP";
}

Rezultat

Am găsit PHP

Greșeli frecvente

  • Scrii if (strpos($text, "PHP")). Dacă textul începe cu „PHP”, poziția este 0 și condiția este falsă. Compară mereu cu !== false.

Comenzi înrudite

  • str_contains: Verifică dacă un text conține alt text. Returnează true sau false.
  • substr: Extrage o bucată dintr-un text, pornind de la o anumită poziție.
  • str_replace: Înlocuiește toate aparițiile unui text cu alt text.