Ce face mb_strpos / mb_stripos
mb_strpos funcționează ca strpos, dar poziția returnată este în caractere. Este varianta potrivită când folosești apoi poziția în mb_substr.
mb_stripos caută fără să țină cont de litere mari și mici, inclusiv pentru diacritice (Ș și ș sunt considerate la fel). 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. Poziția, în caractere, de la care începe căutarea. |
$encoding |
Opțional. Codarea textului. |
Ce returnează
Poziția găsită (în caractere) sau false.
Exemple
Exemplul 1: Poziție în octeți și în caractere
<?php
$text = "Școala din Iași";
echo strpos($text, "Iași") . "\n";
echo mb_strpos($text, "Iași");
Rezultat
12
11
Exemplul 2: Căutare fără majuscule, cu diacritice
<?php
$titlu = "ȘCOALA DE VARĂ PHP";
var_dump(stripos($titlu, "școala"));
var_dump(mb_stripos($titlu, "școala"));
Rezultat
bool(false)
int(0)
Greșeli frecvente
- Verifici cu
if (mb_strpos(...)). Dacă textul este găsit la poziția 0, condiția este falsă. Compară cu!== false.
Comenzi înrudite
strpos: Găsește poziția primei apariții a unui text în alt text.stripos: Găsește poziția primei apariții a unui text, fără să țină cont de litere mari și mici.mb_substr: Extrage o bucată dintr-un text după poziții în caractere, fără să strice diacriticele.str_contains: Verifică dacă un text conține alt text. Returnează true sau false.