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));

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...