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;
}
浙公网安备 33010602011771号