- substr: documentation ( source)
- strpos: documentation ( source)
<?php
function str_intersection($str1, $str2)
{
[$long, $short] = strlen($str1) > strlen($str2) ? [$str1, $str2] : [$str2, $str1];
$shortLength = strlen($short);
for ($length = $shortLength; $length > 0; $length--) {
for ($offset = 0; $offset < $shortLength - 1; $offset++) {
if (strpos($long, substr($short, $offset, $length)) !== false) return $length;
}
}
return 0;
}
$str1 = "lorem ipsum";
$str2 = "rem";
echo str_intersection($str1, $str2) . PHP_EOL; // Expected result: 3
$str2 = "xzy";
echo str_intersection($str1, $str2) . PHP_EOL; // Expected result: 0