0

textareaフィールドの単語を数えようとしています。以下は、非推奨のeregiとeregi_replaceを使用する単純な関数です。

これらの2つの関数をpreg_matchとpreg_replaceと交換できることはわかっていますが、その後の機能がありません。それがパラメータの設定方法だと確信しています。

function count_words($str){
//http://www.reconn.us/count_words.html
$words = 0;
$str = eregi_replace(" +", " ", $str);
$array = explode(" ", $str);
for($i=0;$i < count($array);$i++)
{
if (eregi("[0-9A-Za-zÀ-ÖØ-öø-ÿ]", $array[$i])) 
$words++;
}
return $words;
}

私が正しく理解している場合、preg_matchの場合、「i」を追加する必要があります。

if (preg_match("[0-9A-Za-zÀ-ÖØ-öø-ÿ]/i", $array[$i])) 

しかし、preg_replaceについてはよくわかりません。

4

1 に答える 1

1

単語の数え方はもっと簡単にできます:

$words = mb_split(' +', $text);
$wordCount = count($words);

ただし、preg_replace行は次のようになります。

preg_replace('/( +)', ' ', $str);
于 2012-05-28T19:43:38.213 に答える