Ce face str_word_count
Cu $format = 0, str_word_count returnează numărul de cuvinte. Cu 1 returnează un tablou cu cuvintele, iar cu 2 un tablou în care cheia este poziția la care începe fiecare cuvânt.
Un cuvânt este o secvență de litere englezești, plus apostrof și cratimă. Literele cu diacritice nu sunt recunoscute, așa că le adaugi prin parametrul $characters.
Parametri
| Parametru | Descriere |
|---|---|
$string |
Textul analizat. |
$format |
Opțional. 0 numărul de cuvinte, 1 tablou cu cuvinte, 2 tablou cu poziții ca chei. |
$characters |
Opțional. Caractere suplimentare considerate parte din cuvânt. |
Ce returnează
Un număr sau un tablou, în funcție de $format.
Exemple
Exemplul 1: Număr de cuvinte și lista lor
<?php
$text = "PHP rulează pe server";
echo str_word_count($text) . "\n";
print_r(str_word_count("Bun venit pe blog", 1));
Rezultat
4
Array
(
[0] => Bun
[1] => venit
[2] => pe
[3] => blog
)
Exemplul 2: Textele în română au nevoie de $characters
Fără lista de diacritice, „și” este rupt în bucăți și numărătoarea iese greșită.
<?php
$text = "Ana are mere și pere";
echo str_word_count($text) . "\n";
echo str_word_count($text, 0, "ăâîșțĂÂÎȘȚ");
Rezultat
6
5
Greșeli frecvente
- Numeri cuvintele unui text românesc fără
$charactersși obții un număr prea mare. - Te aștepți ca numerele să fie numărate ca și cuvinte.
str_word_count("am 3 mere")returnează 2.
Comenzi înrudite
explode: Împarte un text în bucăți după un separator și le pune într-un tablou.preg_split: Împarte un text în bucăți folosind o expresie regulată ca separator.substr_count: Numără de câte ori apare un text în alt text.