| 搜索引擎中都要用到分词技术,一般都用在全文搜索中,这是一个简单的分词php代码,实际应用意义并不大
 <?php    运行结果:Array ( [0] => nbs v1 [1] => bs v1. [2] => s v1.0 [3] => v1.0b [4] => v1.0be [5] => 1.0bet [6] => .0beta [7] => 0beta测 [8] => beta测试 [9] => eta测试版 [10] => ta测试版发 [11] => a测试版发布 [12] => 测试版发布!function substring($str, $start, $len){
 
 $strlen = strlen($str);
 if($start > $strlen){
 return "";
 }
 for($i = 0; $i < $start; $i++){
 if(ord($str[$i]) > 0x7f ){
 $start++;
 $i++;
 }
 }
 for($i=0; $i < $len; $i++) {
 if(ord($str[$i+$start]) > 0x7f){
 $len++;
 $i++;
 }
 }
 return substr($str, $start, $len);
 }
 
 // 切词函数,有时用在mysql 全文检索上
 function wordSegment($str, $len)
 {
 $startPos = 0;
 $strLen = $real_strLen = strlen($str);
 
 for($i = 0; $i < $real_strLen; $i++){
 if(ord($str[$i]) > 0x7f ){     phperz.com
 $strLen--;
 $i++;
 }
 }
 
 $rltStrArray = array();
 while(($strLen - $startPos) >= $len )
 {
 $rltStrArray[] = substring($str, $startPos++, $len);
 }
 return $rltStrArray;
 }
 
 $testStr = "nbs v1.0beta测试版发布!";
 echo $testStr . "\r\n";
 print_r(wordSegment($testStr, 3));
 ?>
 
 |