第一步:准备好Pscws4资料
下载 XDB 词典文件 【简体中文(UTF-8)】
下载PSCWS4【pscws4-20081221.tar.bz2】
下载规则集文件【rules.tgz】
第二步:将下载的文件解压,其中的 dict.utf8.xdb 和 规则集文件 按照下图放置
第三步:将解压出来的PSCWS4类Pscws4.class.php 和 xdb_r.class.php 放到 ThinkPHP/Library/Vendor/Pscws下
第四步:在控制器里面实力类。
function get_tags($title,$num){ import("Vendor.Pscws.Pscws4"); $pscws = new \PSCWS4('utf8'); $pscws->set_dict(CONF_PATH . 'etc/dict.utf8.xdb'); $pscws->set_rule(CONF_PATH . 'etc/rules.utf8.ini'); $pscws->set_ignore(true); $pscws->send_text($title); $words = $pscws->get_tops($num); $pscws->close(); $tags = array(); foreach ($words as $val) { $tags[] = $val['word']; } return implode(',', $tags); }本来到这个时候就应该做好了,实现我们需要的分词功能了,但是却出现乱码了。这个问题折腾我们技术很长时间,怎么调试都不对,什么文件的读取权限之类的,全部都试一遍都不行。最后只好看源码。最终发现问题
在PSCWS4的构造函数中。
将构造函数修改为: function __construct($charset = 'gbk') { $this->PSCWS4($charset); }
ThinkPHP整合PSCWS4到此完满结束。
http://www.sxqswl.net/show-22-107-1.html