如何计算Preg Match结果中的单词数

时间:2018-02-17 09:11:36

标签: php

我有一个代码可以从单词列表中删除逗号并分隔所有单词。我尝试从结果中计算字符串中的单词数(也包含邮件地址和单词),但它返回00000而不是5。如何解决此问题。下面是我的代码

$input = "example@k.c, bar@h.c, baz@h.c., shibbyc, poopc.";

//-- handles it all in one pass
$output = preg_split('/(,)/', $input, -1, PREG_SPLIT_NO_EMPTY);


//-- just output
array_walk($output, function(&$item, $idx) {

echo substr_count($item,$idx);

 //  echo $idx . ': ' . $item . PHP_EOL;
});

2 个答案:

答案 0 :(得分:2)

不需要正则表达式,只需使用爆炸 更少的记忆饥饿功能。
算上算了。

$input = "example@k.c, bar@h.c, baz@h.c., shibbyc, poopc.";
$arr = explode(",", $input);

Echo count($arr); //echo 5

https://3v4l.org/SLBnc

答案 1 :(得分:0)

您可以使用count()

$output = preg_split('/(,)/', $input, -1, PREG_SPLIT_NO_EMPTY);
echo count($output); // 5