<?php
/**
* 分词服务
* @author lichaoyong 2015-7-10 16:42:12
*/
/**
* 传入词语
* @author lichaoyong 2015-7-10 16:52:23
* @param string $words 字符串
*/
function split_words($words){
if(empty($words)){
return false;
}
if (!extension_loaded('scws')) dl('scws.' . PHP_SHLIB_SUFFIX);
//2. check again
if (!extension_loaded('scws'))
{
echo "ERROR: scws extension was not found.\n";
exit(0);
}
//3. test data
define ('SCWS_TEST_MULTI_SHORT', 0x01);
define ('SCWS_TEST_MULTI_DUALITY', 0x02);
define ('SCWS_TEST_MULTI_ZMAIN', 0x04);
define ('SCWS_TEST_MULTI_ZALL', 0x08);
define ('SCWS_TEST_MULTI_MASK', 0x0f);
define ('SCWS_TEST_IGNORE_SYMBOL', 0x10);
define ('SCWS_TEST_DUALITY', 0x20);
//options: multi(default=0), ignore(symbol, default: false), duality(default:false)
//3. build scws handler
$so = scws_new();
$so->set_charset('utf8');
$so->set_ignore(true);//清楚标点符号 true or false
$so->set_duality(true);//散列二元字符 true or falsse
//$so->set_multi($multi);// 1 最短分词 2 二元分词 4 重要单子 8 全部单子 $multi =多个选择的结果
$so->set_multi(3);
// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
$so->send_text($words);
$tmp_arr = array();
while ($tmp = $so->get_result()){
if(is_array($tmp)){
foreach($tmp as $k=>$v){
$tmp_arr[] = $v;
}
}else{
$tmp_arr[] = $tmp;
}
}
$so->close();
return $tmp_arr;
}
?>
/**
* 分词服务
* @author lichaoyong 2015-7-10 16:42:12
*/
/**
* 传入词语
* @author lichaoyong 2015-7-10 16:52:23
* @param string $words 字符串
*/
function split_words($words){
if(empty($words)){
return false;
}
if (!extension_loaded('scws')) dl('scws.' . PHP_SHLIB_SUFFIX);
//2. check again
if (!extension_loaded('scws'))
{
echo "ERROR: scws extension was not found.\n";
exit(0);
}
//3. test data
define ('SCWS_TEST_MULTI_SHORT', 0x01);
define ('SCWS_TEST_MULTI_DUALITY', 0x02);
define ('SCWS_TEST_MULTI_ZMAIN', 0x04);
define ('SCWS_TEST_MULTI_ZALL', 0x08);
define ('SCWS_TEST_MULTI_MASK', 0x0f);
define ('SCWS_TEST_IGNORE_SYMBOL', 0x10);
define ('SCWS_TEST_DUALITY', 0x20);
//options: multi(default=0), ignore(symbol, default: false), duality(default:false)
//3. build scws handler
$so = scws_new();
$so->set_charset('utf8');
$so->set_ignore(true);//清楚标点符号 true or false
$so->set_duality(true);//散列二元字符 true or falsse
//$so->set_multi($multi);// 1 最短分词 2 二元分词 4 重要单子 8 全部单子 $multi =多个选择的结果
$so->set_multi(3);
// 这里没有调用 set_dict 和 set_rule 系统会自动试调用 ini 中指定路径下的词典和规则文件
$so->send_text($words);
$tmp_arr = array();
while ($tmp = $so->get_result()){
if(is_array($tmp)){
foreach($tmp as $k=>$v){
$tmp_arr[] = $v;
}
}else{
$tmp_arr[] = $tmp;
}
}
$so->close();
return $tmp_arr;
}
?>