Возможно поможет: убираете пробелы из паттерна и предложения, потом проходитесь по предложению и ищите минимальное расстояние левенштейна по всей строке.
$pattern = 'Search pattern';
$sentence = 'Function, what uses searchpatttern';
$pattern = strtolower(str_replace(' ', '',$pattern));
$sentence = strtolower(str_replace(' ', '', $sentence));
$min = MAX_INT;
$index = -1;
for ($i = 0; $i < strlen($sentence) - strlen($pattern); ++$i) {
$len = levenshtein($pattern, substr($sentence, $i, strlen($pattern) ));
if ($len < $min) {
// found
$min = $len;
$index = $i;
}
}
if ($min < THRESHOLD) {
//found pattern at $index
}
Возможно достаточно убрать пробелы только из паттерна. Незабыть сохранить позиции пробелов, чтобы потом их вернуть на место.