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