Нужна функция PHP для сравнения двух строк минус любые * специальные * символы - PullRequest
1 голос
/ 05 мая 2011

У меня есть две строки:

1>  +20122260699
2>  +2012-2260 699

Я хочу проверить, равны ли они оба, не считая ничего, кроме цифр 0-9.Я знаю, что могу использовать серию замен строк, но есть ли более эффективный способ сделать это?Спасибо!

Ответы [ 2 ]

4 голосов
/ 05 мая 2011

Попробуйте это:

// Remove all non-numeric characters:
function removeStuff($string) {
    return preg_replace('/[^0-9]/', '', $str);
}

strcmp( removeStuff($str1), removeStuff($str2) );
2 голосов
/ 05 мая 2011
if (preg_replace('/[^0-9]+/', '', $str1) == preg_replace('/[^0-9]+/', '', $str)) {
  // They're equal, do whatever you want!
}

Это проверит две строки, лишенные чего-либо кроме 0-9.

...