我使用substr_count来计算单词的使用次数。 但它没有返回我想要的结果。 这是我的示例代码:
<?php
echo substr_count("The Hello world. Therefore the world is nice","the");
?>
这将返回数字3,即3个字符串。我希望它只返回2.因为有2个。第三个是这个词的一部分所以它不是一个。 我想到了正则表达,但我对那些并不是很好。有什么建议吗?
答案 0 :(得分:3)
您需要在the
之后添加空格,它只能包含那些后面有空格的the
<?php
echo substr_count("The Hello world. Therefore the world is nice","the ");
?>
答案 1 :(得分:1)
这是计算子字符串出现的另一种方法,
<?php
$string = "The Hello world. Therefore the world is nice";
$substring = 'the';
$cArr = explode($substring,strtolower($string));
echo $substring_count = count($cArr) - 1;
?>
OR
$wordCounts = array_count_values(str_word_count(strtolower($string),1));
echo $theCount = (isset($wordCounts['the'])) ? $wordCounts['the'] : 0;
答案 2 :(得分:0)
我认为substr_count的用法不同。 语法:
int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
substr_count()返回在haystack字符串中出现针子串的次数。请注意针头区分大小写。
答案 3 :(得分:0)
有3'的。 因此和
试试这个:
<?php
echo substr_count("The Hello world. Therefore the world is nice","the ");
?>
答案 4 :(得分:0)
<?php
echo preg_match_all('/\bthe\b/i', 'The Hello World. Therefore the world is nice', $m);
?>
第一个参数是模式,其中\b
表示单词边界,/i
修饰符表示敏感内容。
第二个参数是匹配的主题。
第三个参数用匹配数组填充。我的旧PHP需要它,5.4以后的版本不应该要求它。