Ce face preg_split
preg_split este varianta flexibilă a lui explode: separatorul poate fi orice potrivire a unui șablon, de exemplu „virgulă sau punct și virgulă, cu oricâte spații”.
Opțiuni utile: PREG_SPLIT_NO_EMPTY elimină bucățile goale, PREG_SPLIT_DELIM_CAPTURE păstrează și separatorii prinși între paranteze. Pentru a împărți în caractere un text UTF-8, folosește șablonul '//u'.
Parametri
| Parametru | Descriere |
|---|---|
$pattern |
Expresia regulată care descrie separatorul. |
$subject |
Textul împărțit. |
$limit |
Opțional. Numărul maxim de bucăți. -1 sau 0 înseamnă fără limită. |
$flags |
Opțional. PREG_SPLIT_NO_EMPTY, PREG_SPLIT_DELIM_CAPTURE, PREG_SPLIT_OFFSET_CAPTURE. |
Ce returnează
Un tablou cu bucățile sau false la eroare.
Exemple
Exemplul 1: Separatori diferiți
<?php
$etichete = "php, mysql;wordpress , css;;html";
print_r(preg_split('/\s*[,;]\s*/', $etichete, -1, PREG_SPLIT_NO_EMPTY));
Rezultat
Array
(
[0] => php
[1] => mysql
[2] => wordpress
[3] => css
[4] => html
)
Exemplul 2: Propoziții dintr-un text
<?php
$text = "Salut! Ce faci? Eu învăț PHP. Tu?";
print_r(preg_split('/(?<=[.!?])\s+/', $text));
Rezultat
Array
(
[0] => Salut!
[1] => Ce faci?
[2] => Eu învăț PHP.
[3] => Tu?
)
Greșeli frecvente
- Folosești
preg_splitpentru un separator fix (o virgulă).explodeeste mai rapidă. - Împarți în caractere fără modificatorul
uși diacriticele sunt rupte în octeți.
Comenzi înrudite
explode: Împarte un text în bucăți după un separator și le pune într-un tablou.preg_match_all: Găsește toate potrivirile unei expresii regulate într-un text ș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.str_getcsv: Citește un rând în format CSV și îl împarte într-un tablou de valori.