biraz daha doğru sonuçlar veren çılgın bir şey daha denedim gece gece iyi beyin jimnastiği oldu iyi geceler

function finddigits(string $s)
{
    $numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
    $parsed = str_split($s);
    foreach ($numbers as $key => $number) if (!empty(array_diff(str_split($number), $parsed))) unset($numbers[$key]);
    foreach ($numbers as $key => $number) {
        $nKeys = []; $pKeys = [];
        foreach (str_split($number) as $item) {
            if (!isset($nKeys[$item])) $nKeys[$item] = 0; $nKeys[$item]++;
        }
        foreach ($parsed as $v) {
            if (!isset($pKeys[$v])) $pKeys[$v] = 0; $pKeys[$v]++;
        }
        foreach ($nKeys as $k => $v) if ($pKeys[$k] < $v) unset($numbers[$key]);
    }
    return $numbers;
}

/**
 * Array
 * (
 * [1] => one
 * [2] => two
 * [4] => four
 * )
 */
finddigits('owoftnuoer');