mb_ereg_search_init / mb_ereg_search / mb_ereg_search_regs în PHP

Pregătește un text pentru căutări repetate cu mb_ereg_search, mb_ereg_search_regs și celelalte funcții din familie.

Sintaxă
mb_ereg_search_init(string $string, ?string $pattern = null, ?string $options = null): bool

Ce face mb_ereg_search_init / mb_ereg_search / mb_ereg_search_regs

Familia mb_ereg_search parcurge un text potrivire cu potrivire. mb_ereg_search_init stabilește textul și, opțional, șablonul. Fiecare apel următor continuă de unde s-a oprit cel anterior.

mb_ereg_search returnează doar true/false (există o potrivire următoare). mb_ereg_search_regs returnează direct grupurile potrivirii următoare. mb_ereg_search_getregs returnează grupurile ultimei potriviri găsite (de exemplu după mb_ereg_search).

În cod nou, același lucru se face mai simplu cu preg_match_all și modificatorul u.

Parametri

Parametru Descriere
$string Textul în care se va căuta.
$pattern Opțional. Expresia regulată, fără delimitatori. Poate fi dată și la fiecare căutare.
$options Opțional. Opțiunile căutării.

Ce returnează

mb_ereg_search_init și mb_ereg_search: true sau false. mb_ereg_search_regs și mb_ereg_search_getregs: tabloul cu grupuri sau false.

Exemple

Exemplul 1: Toate perechile nume-vârstă

<?php
mb_ereg_search_init("Ana 25, Ion 31, Ștefan 40", '(\w+) (\d+)');

while ($m = mb_ereg_search_regs()) {
    echo $m[1] . " are " . $m[2] . " ani\n";
}

Rezultat

Ana are 25 ani
Ion are 31 ani
Ștefan are 40 ani

Exemplul 2: mb_ereg_search urmat de mb_ereg_search_getregs

<?php
mb_ereg_search_init("Prețuri: 15 lei, 230 lei, 9 lei");

while (mb_ereg_search('(\d+) lei')) {
    $m = mb_ereg_search_getregs();
    echo $m[1] . " ";
}

Rezultat

15 230 9

Greșeli frecvente

  • Apelezi mb_ereg_search fără mb_ereg_search_init înainte și primești eroarea No string given.

Comenzi înrudite