• 技术文章 >后端开发 >php教程

    最大正向匹配算法 PHP实现

    2016-07-29 08:56:43原创769
    字符串最大正向匹配算法说明可以参考其他文章,这里只做实现。
    三个参数:查询词 $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教程有兴趣的朋友有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:feature matched len query slen
    上一篇:为 Laravel 项目快速定制拥有 Bootstrap 风格的面包屑导航 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 深入了解PHP:用gdb调试源码• 实例介绍:使用Docker快速搭建多版本PHP开发环境• 实例详解PHP统计代码行数及文件数量的方法• PHP利用MySQL保存session的实现思路及示例代码,mysqlsession_PHP教程• PHP常用开发工具分析_PHP教程
    1/1

    PHP中文网