str_word_count函数适用于英文单词统计,支持三种模式:返回总数、单词数组或带位置的关联数组;但对中文等无空格分隔语言无效,需用正则preg_replace配合\p{L}和\p{N}清理标点并分割空白来粗略统计多语言文本;精确处理中文建议使用SCWS或Jieba分词扩展。

在PHP中,str_word_count() 函数常用于统计字符串中的单词数量。默认情况下,它主要针对英文文本设计,能识别由空格或标点分隔的字母组合为单词。但在处理多语言(如中文、日文、阿拉伯文等)或包含复杂标点符号的文本时,该函数的表现有限,需要结合其他方法进行优化。
该函数有三种返回模式:
$str = "Hello, welcome to PHP world!"; echo str_word_count($str); // 输出: 5 print_r(str_word_count($str, 1)); // 输出: Array ( [0] => Hello [1] => welcome [2] => to [3] => PHP [4] => world )
注意:该函数会忽略常见标点符号(如逗号、句号),但只对拉丁字母有效,无法识别中文、日文等非空格分隔语言的“单词”。
对于中文、日文、泰文等语言,由于没有明显的单词边界(不像英文用空格分隔),str_word_count() 无法正确识别词汇。例如:
$str = "你好世界,欢迎使用PHP!"; echo str_word_count($str); // 输出: 0
这是因为 str_word_count 只识别 a-zA-Z 字符。要实现多语言单词或词语统计,需采用以下策略:
以下是一个增强型函数,可统计多种语言的“词”或“字符组合”,并自动忽略常见标点:
AliGenie 天猫精灵开放平台
天猫精灵开放平台
156
查看详情
function count_words_multilingual($str) {
// 移除标点符号,保留文字字符
$clean = preg_replace('/[^\p{L}\p{N}\s]/u', ' ', $str);
// 按空白字符分割,并过滤空项
$words = preg_split('/\s+/u', $clean, -1, PREG_SPLIT_NO_EMPTY);
return count($words);
}
// 示例
$text = "Hello, 你好!مرحبا، ? 123";
echo count_words_multilingual($text); // 输出: 5
说明:
此方法虽不能精确分词(如中文仍按单字或连续字块处理),但可用于粗略统计文本中的语言单元。
若需精确处理中文,推荐使用:
这些工具能将“我喜欢编程”正确切分为 ["我", "喜欢", "编程"],从而实现真正意义上的“词”统计。
基本上就这些。str_word_count 适合英文环境,多语言场景需依赖正则或专用分词工具来准确统计。关键是根据语言类型选择合适的方法,并合理处理标点干扰。
以上就是php中str_word_count统计单词数_php支持多语言与标点忽略统计方法的详细内容,更多请关注其它相关文章!
# 你好
# 鹿寨附近网站建设推广
# 高权重网站代发帖推广
# 北碚区的网站建设费用
# 确山网站网络推广服务商
# 正规网站建设公司外包
# seo自助建站平台
# 孔乙己教案网站建设
# 南京网站建设开发公司
# 新产品营销推广流程图
# 营销推广分哪些类别的
# 切分
# php
# 进阶
# 是一个
# 俄文
# 英文
# 日文
# 阿拉伯文
# 多语言
# 工具
# 正则表达式
# python
# word
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
优化推广96088 】
【
技术知识133117 】
【
IDC资讯59369 】
【
网络运营7196 】
【
IT资讯61894 】
相关推荐:
跨语言测试实践:使用Python Selenium测试现有J*a Web项目
《三角洲行动》战斗步枪与机枪类改装代码分享
c++中的const关键字用法大全_c++ const正确使用指南
win11如何诊断DirectX问题 Win11运行dxdiag工具排查显卡故障【排错】
sublime如何处理超大文件不卡顿 _sublime打开大日志文件技巧
PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略
iPhone 13 Pro Max如何设置桌面小组件_iPhone 13 Pro Max小组件添加指南
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
12306不能订票的时间段是固定的吗? | 节假日购票时间有无变化
windows server2019显卡驱动怎么安装_winserver2019显卡驱动安装与远程桌面优化
泰拉瑞亚网页版在线登录入口 泰拉瑞亚官方正版入口
《顺丰同城骑士》查看我的技能方法
Golang如何测试结构体方法_Golang reflect方法测试与调用技巧
《小宇宙》标记不友善评论方法
阿里旺旺电脑网页版入口 阿里旺旺电脑版网页登录入口
163邮箱网页版官方登录入口 163邮箱网页版访问页面
GBA模拟器手柄按键设置
C++如何实现矩阵乘法_C++二维数组矩阵运算代码示例
WPS文字如何进行简繁转换
手机坏了微信聊天记录怎么导出来 新手机恢复聊天记录技巧
KFC邀请码怎么使用领额外优惠_KFC邀请码输入方式与额外优惠代码获取方法
哔哩哔哩的|直播|间怎么送礼物_哔哩哔哩|直播|送礼操作指南
B站怎么开|直播| B站|直播|申请需要什么条件【新手必看】
动漫岛在线动漫网 动漫岛动漫在线观看官方入口
word文档中的分隔符有哪些不同类型和用途_Word分隔符类型与用途方法
Go Goroutine调度与并发执行深度解析
德邦快递查询入口登录官网 德邦快递单号查询系统入口
J*aScript类型数组_TypedArray使用
怎样让Windows 11的开始菜单恢复经典样式_Open-Shell工具使用指南【怀旧】
J*aScript字符串_Unicode处理
优化Flask模板中SQLAlchemy查询迭代标签:处理字符串空格问题
WooCommerce购物车:强制显示所有交叉销售商品教程
抖音号怎么解除企业认证改成个人?改成个人有影响吗?
iPhone12是否要更新ios16
圆通快递官网入口查询单号 手机版官方查询入口
如何使用 Optional 类型并满足 Pylint 的类型检查
抖音作品被限流怎么办 抖音内容优化与流量恢复方法
如何查询国外邮政编码_国外邮政编码查询的多种有效途径
微信注销后银行卡解绑了吗_微信注销后银行卡解绑状态
键盘保修需要什么_键盘售后维修流程
CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程
追剧达人如何发弹幕
重返未来:1999卡戎全方位攻略
百度浏览器无法安装扩展程序_百度浏览器插件安装失败原因解析
Go App Engine 项目结构与包管理深度指南
使用 J*aScript 随机化 CSS Grid 布局中的元素顺序
poki官网最新入口 poki小游戏大全入口
AO3官方镜像链接 | 最新防走失网址永久收藏
Python对象引用与属性赋值:理解链表中的行为
《合金装备4》有望推出重制版!制作人发话了
2025-11-28
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。