首页 >后端开发 >php教程 > 正文

最大正向匹配算法 PHP实现

原创2016-07-29 08:56:430652
字符串最大正向匹配算法说明可以参考其他文章,这里只做实现。
三个参数:查询词 $query,词典$dict,最大长度,这里设置为15
词典示例:
$dict = array(
'测试字符'=>'测试字符','测试'=>'测试',)

public function extractWords($query,$dict,$max_len=15){$feature = "";
$slen=mb_strlen($query,'UTF8');
$c_bg = 0;
while($c_bg<$slen){
$matched = false;
$c_len =(($slen-$c_bg)>$max_len)?$max_len:($slen-$c_bg);
$t_str = mb_substr($query, $c_bg,$c_len,'UTF8');
for($i=$c_len;$i>1;$i--){
$ttts = mb_substr($t_str, 0,$i,'UTF8');if(!empty($dict[$ttts])){
//                    echo 'matched = '.$ttts.PHP_EOL;
$matched = true;
$c_bg += $i;
if(!empty($feature)){
$feature.=",";
                        }
$feature.=$ttts;
break;
                    }            }
if(!$matched){
$c_bg++;
            }
        }
        echo $feature.PHP_EOL;    }

以上就介绍了最大正向匹配算法 PHP实现,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:feature matched len query slen
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    php中文网

    认证0级讲师

    推荐视频教程
  • javascript初级视频教程javascript初级视频教程
  • jquery 基础视频教程jquery 基础视频教程
  • 视频教程分类