我试图计算文本段落中的数字。现在我正在使用str_word_count
,这很好,除了单引号搞砸了。
该函数将'propter'
和propter
计为不同的单词。它还将et'
和et
,'non
和non
计为不同的字词。
如何让函数忽略单引号。文本都是拉丁语,因此单词中没有单引号的实例(如果这有任何区别)。
答案 0 :(得分:3)
在使用str_word_count()
之前,您始终可以删除单引号。
答案 1 :(得分:2)
稍微苛刻的解决方案,但你应该能够做到:
$count = str_word_count(str_replace("'",'',$str));
...并根据上面的示例问题得到你想要的答案。
修改强>
如果您正试图获得段落中唯一单词的数量,正如Pablo M. Prieto所建议的那样,您可以这样做:
$count = count(array_unique(str_word_count(strtolower(str_replace("'",'',$str)),1)));
答案 2 :(得分:0)
实际上,这是str_word_count()
函数的默认行为。它计算段落中的单词数量。
所以如果你有:
$paragraph = "Lorem ipsum dolor sit amet 'lorem' ipsum 'dolor'";
和
$paragraph = "Lorem ipsum dolor sit amet lorem ipsum dolor";
它们将返回int(8)。
您是否试图计算段落中唯一字词的数量?