str_word_count în PHP

Numără cuvintele dintr-un text sau le returnează într-un tablou.

Sintaxă
str_word_count(string $string, int $format = 0, ?string $characters = null): array|int

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.