mb_split în PHP

Împarte un text multibyte în bucăți folosind o expresie regulată ca separator.

Sintaxă
mb_split(string $pattern, string $string, int $limit = -1): array|false

Ce face mb_split

mb_split este varianta multibyte a lui preg_split. Șablonul se scrie fără delimitatori. $limit limitează numărul de bucăți; ultima bucată conține restul textului.

Nu are opțiuni ca PREG_SPLIT_NO_EMPTY; bucățile goale le elimini cu array_filter.

Parametri

Parametru Descriere
$pattern Expresia regulată care descrie separatorul.
$string Textul împărțit.
$limit Opțional. Numărul maxim de bucăți. -1 înseamnă fără limită.

Ce returnează

Un tablou cu bucățile sau false la eroare.

Exemple

Exemplul 1: Listă cu separatori diferiți

<?php
print_r(mb_split('\s*[,;]\s*', "Iași , Cluj;Brașov,  Țăndărei"));

Rezultat

Array
(
    [0] => Iași
    [1] => Cluj
    [2] => Brașov
    [3] => Țăndărei
)

Exemplul 2: Cu limită

<?php
print_r(mb_split('\s+', "Ștefan cel Mare și Sfânt", 2));

Rezultat

Array
(
    [0] => Ștefan
    [1] => cel Mare și Sfânt
)

Greșeli frecvente

  • Pui delimitatori ca la preg_split ('/,/') și textul nu este împărțit, pentru că se caută literal /,/.

Comenzi înrudite

  • preg_split: Împarte un text în bucăți folosind o expresie regulată ca separator.
  • explode: Împarte un text în bucăți după un separator și le pune într-un tablou.
  • mb_str_split: Împarte un text în caractere (sau grupuri de caractere), fără să strice literele cu diacritice.