如何知道字符串中子字符串的确切出现次数。例如,考虑以下字符串:
$string = 'The sun is bright, what a beatiful sunlight';
当我搜索“sun”这个词时,我希望它返回1而不是2.当我这样做时会发生:
$counter = substr_count($string, 'sun');
任何想法?
答案 0 :(得分:3)
$wordCounts = array_count_values(str_word_count($string,1));
$sunCount = (isset($wordCounts['sun'])) ? $wordCounts['sun'] : 0;
区分大小写...如果您想要不区分大小写,则可能需要使用使用单词边界的正则表达式
$sunCount = preg_match_all('/\bsun\b/i',$string);
答案 1 :(得分:1)
可能是作弊,但您始终可以搜索' sun '
而不是'sun'
。 :)
$counter = substr_count($string, ' sun ');
答案 2 :(得分:0)
$counter = substr_count($string, ' sun ');
但请注意,这不会计算逗号或句号旁边或开头的单词,因此可能对您没有帮助。