将句子拆分成单独的单词 - php

我需要将中文句子拆分为单独的单词。中文的问题是没有空格。例如,该句子可能看起来像:主楼怎么走(带空格的是:主楼 怎么 走)。

目前,我可以想到一种解决方案。我有一本有中文单词的字典(在数据库中)。该脚本将:

尝试在数据库中找到句子的前两个字符(主楼),
如果主楼实际上是一个单词,并且在数据库中,则脚本将尝试查找前三个字符(主楼怎)。 主楼怎不是一个词,所以它不在数据库中=>我的应用程序现在知道主楼是一个单独的词。
尝试用其余的角色来做。

我不太喜欢这种方法,因为即使分析很小的文本,它也会查询数据库太多次。

还有其他解决方案吗?

参考方案

感谢大家的帮助!

经过一些研究,我发现了一些工作工具(牢记您的所有建议),这就是为什么我要回答自己的问题。

一个PHP类(http://www.phpclasses.org/browse/package/2431.html)
Drupal模块,基本上是另一个具有4种不同细分算法的PHP解决方案(非常容易理解它的工作原理)(http://drupal.org/project/csplitter)
用于中文分词(http://code.google.com/p/phpcws/)的PHP扩展
如果您尝试在baidu.com上搜索“中文分词”,则还有其他解决方案

真诚的

qu

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

PHP preg_match直到双行中断 - php

我在mysql字段中有此数据:First text text text text text text text text text text text text text text text text text text text text Second text text text text text text text text text text te…

PHP:将字符串拆分为字母和数字部分的最佳方法 - php

我有几个格式的字符串AA11 AAAAAA1111111 AA1111111 分离字符串的字母和数字部分的最佳方法(最有效)? 参考方案 如果它们都是一系列字母,然后是一系列数字,并且没有非字母数字字符,那么sscanf()可能比regexp更有效$example = 'AAA11111'; list($alpha,$numeric) =…

php-casperjs获取内部文本 - php

我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…