Ce face strstr / stristr
strstr caută prima apariție a lui $needle și returnează tot ce urmează, inclusiv textul căutat. Cu $before_needle = true (PHP 5.3+) returnează partea dinaintea lui.
stristr face același lucru fără să țină cont de litere mari și mici. strchr este doar un alt nume pentru strstr.
Dacă vrei doar să afli dacă un text apare, str_contains este mai rapidă și mai clară.
Parametri
| Parametru | Descriere |
|---|---|
$haystack |
Textul în care se caută. |
$needle |
Textul căutat. |
$before_needle |
Opțional. true returnează partea dinaintea textului găsit. |
Ce returnează
Bucata de text sau false dacă $needle nu este găsit.
Exemple
Exemplul 1: Domeniul și utilizatorul dintr-un email
<?php
$email = "ana.popescu@exemplu.ro";
echo strstr($email, "@") . "\n";
echo strstr($email, "@", true);
Rezultat
@exemplu.ro
ana.popescu
Exemplul 2: Fără majuscule, cu stristr
<?php
$adresa = "Strada Lăpușneanu nr. 12, IAȘI";
var_dump(strstr($adresa, "nr."));
var_dump(stristr($adresa, "NR."));
var_dump(strstr($adresa, "Cluj"));
Rezultat
string(13) "nr. 12, IAȘI"
string(13) "nr. 12, IAȘI"
bool(false)
Greșeli frecvente
- Uiți că rezultatul include și textul căutat:
strstr("ana@exemplu.ro", "@")dă@exemplu.ro, nuexemplu.ro.
Comenzi înrudite
strrchr: Returnează partea dintr-un text care începe cu ultima apariție a unui caracter.strpos: Găsește poziția primei apariții a unui text în alt text.explode: Împarte un text în bucăți după un separator și le pune într-un tablou.str_contains: Verifică dacă un text conține alt text. Returnează true sau false.