河汉清且浅,牵牛敦而纯

https://blog.csdn.net/sphinx1122/article/details/83663634

有更改

 

# 找到两个字符串完全相同的部分
# 赋值给$longest,当找到有最长的字符串,就替换$longest

# 这里的 $len 不能大于$str1的长度,否则可能无限循环,
# 由于使用mb_substr()和strpos(),它的$start, $end皆不能大于$len,否则可能无限循环,
function longest($str1 = '', $str2 = ''){
    $start = 0; $end = 1; $longest = ''; $len = mb_strlen($str1); # $len 不能大于这个数,否则可能无限循环,
    for($i = 0;$i < $len;){
        if($start >= $len) break;
        if($end > $len) break;
        $part = mb_substr($str1, $start, $end);
        if(strpos($str2, $part) !== false){
            if(mb_strlen($part) > mb_strlen($longest)) $longest = $part;
            $end++;
        }else{
            $i++;
            $start = $i-1;
            $end = 1;
        }
    }
    return $longest;
}

  

posted on 2022-05-22 15:43  伊索  阅读(433)  评论(0编辑  收藏  举报