日期:2014-05-17  浏览次数:20457 次

求php的分割标题 并且保存到某字段中的代码
我想给一个php的小程序加一个低级关键词功能,就像动易采集时候的分词效果一样,例如标题是:我从未见过奥特曼

动易采集自动分词的结果是:我从|从未|未见|见过|过奥|奥特|特曼


我自己试了 php的分割函数,但是分割后都是很痛苦的数组,郁闷,求指点!

我没php基础 只是看了一点小介绍!

我这样想的

$title=我从未见过奥特曼

$keyword = str_split($title,1);

但是这样分割后都是数组,而且这样分割好貌似就变成了:我|从|未|见|过|奥|特|曼

求指点,怎么才能像动易采集自动生成关键词那样的生成结果呢!

------解决方案--------------------
先来一个。注意是utf-8编码下。
PHP code

$title='我从未见过奥特曼';
$len= mb_strlen($title,'utf-8');
$l=0;
while($l<$len-1){
     $arr[]=mb_substr($title,$l,2,'UTF-8');
     $l++;     
} 
echo join('|',$arr);

------解决方案--------------------
你可以安装SCWS中文分词系统,有Windows和linux两种版本,可作为php的扩展使用。安装后,用phpinfo查看,如果出现scws,则代表成功。
例子:
$sh = scws_open();
scws_set_charset($sh, 'gbk');
scws_set_multi($sh,SCWS_MULTI_SHORT | SCWS_MULTI_DUALITY | SCWS_MULTI_ZMAIN | SCWS_MULTI_ZALL);
$text = "我从未见过奥特曼";
scws_send_text($sh, $text);
$top = scws_get_tops($sh, 10);
print_r($top);