php中str_word_count统计单词数_php支持多语言与标点忽略统计方法


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

php中str_word_count统计单词数_php支持多语言与标点忽略统计方法

在PHP中,str_word_count() 函数常用于统计字符串中的单词数量。默认情况下,它主要针对英文文本设计,能识别由空格或标点分隔的字母组合为单词。但在处理多语言(如中文、日文、阿拉伯文等)或包含复杂标点符号的文本时,该函数的表现有限,需要结合其他方法进行优化。

str_word_count() 基本用法

该函数有三种返回模式:

  • 0(默认):返回单词总数
  • 1:返回包含所有单词的数组
  • 2:返回关联数组,键为单词起始位置,值为单词内容
$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 字符。要实现多语言单词或词语统计,需采用以下策略:

  • 使用正则表达式匹配Unicode文字块:通过 preg_match_all 匹配各类语言的文字单位
  • 按字符或词语切分中文文本:借助第三方分词库(如 SCWS 中文分词)
  • 自定义规则过滤标点:去除或忽略常见标点符号后再统计

支持多语言与忽略标点的统计方法

以下是一个增强型函数,可统计多种语言的“词”或“字符组合”,并自动忽略常见标点:

AliGenie 天猫精灵开放平台 AliGenie 天猫精灵开放平台

天猫精灵开放平台

AliGenie 天猫精灵开放平台 156 查看详情 AliGenie 天猫精灵开放平台
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

说明:

  • \p{L} 匹配任意语言的字母(包括中文、阿拉伯文、俄文等)
  • \p{N} 匹配数字
  • u 修饰符启用UTF-8模式
  • 先清理标点,再以空格类字符分割,模拟“单词”概念

此方法虽不能精确分词(如中文仍按单字或连续字块处理),但可用于粗略统计文本中的语言单元。

进阶建议:结合分词扩展

若需精确处理中文,推荐使用:

  • SCWS(Simple Chinese Word Segmentation):专为中文设计的分词引擎,PHP 有扩展支持
  • Jieba 分词(PHP移植版):基于Python Jieba 的PHP实现,支持精准模式分词

这些工具能将“我喜欢编程”正确切分为 ["我", "喜欢", "编程"],从而实现真正意义上的“词”统计。

基本上就这些。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

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.