微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – str_word_count()用于非拉丁语单词?

我试图计算用非拉丁语言写的变量中的单词数量(保加利亚语).但似乎str_word_count()不计算非拉丁语. PHP文件的编码是UTF-8

$str = "текст на кирилица";
echo 'Number of words: '.str_word_count($str);
//this returns 0

解决方法:

您可以使用正则表达式执行此操作:

$str = "текст на кирилица";
echo 'Number of words: '.count(preg_split('/\s+/', $str));

这里我将单词分隔符定义为空格字符.如果可能有其他内容被视为单词分隔符,则需要将其添加到正则表达式中.

另请注意,由于正则表达式中没有utf字符(不在字符串中) – / u修饰符不是必需的.但是如果你想要一些utf字符作为分隔符,你需要添加这个正则表达式修饰符.

更新:

如果您只想用文字处理西里尔字母,您可以使用:

$str = "текст 
на 12453
кирилица";
echo 'Number of words: '.count(preg_split('/[^А-Яа-яЁё]+/u', $str));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐