RSS订阅
PHP程序员站--WWW.PHPERZ.COM  
网站地图
高级搜索
收藏本站

 当前位置:主页 >> PHP基础 >> 基础文章 >> 文章内容
php实现中文分词
[收藏此页[打印本页]   
来源:  作者:  发布时间:2007-12-27

搜索引擎中都要用到分词技术,一般都用在全文搜索中,这是一个简单的分词php代码,实际应用意义并不大
<?php
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 ){
php程序员站

 $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));
?>
运行结果: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] => 测试版发布!
 
 相关文章
 
发表评论
全部评论(0条)
 
 站内搜索
 热门搜索 基础  mysql  url  adodb
高级搜索 网站地图 站长工具 IP查询 收藏本站
 热点文章
 随机推荐
网站首页 | 网站地图 | 高级搜索 | RSS订阅
PHP程序员站 Copyright © 2007,PHPERZ.COM All Rights Reserved 粤ICP备07503606号 联系站长