Сравнение строк - только цифры

virakochi

Устал
Сравнение строк - только цифры

Необходимо сравнить строки таким образом, значимыми для сравнения являются только цифры.
Для примера - равные строки:
555-5.5 = 5-5-5 55
 

virakochi

Устал
Как сравнить на стороне PHP понятно... Нужно сравнить именно на стороне MySQL. Буду строить там рег(
 

Кром

Новичок
>там реплейсов нет. есть только матч.

Дак вроде товарищу и нужно сравнить.
Кстати, почему это реплейсов там нет?
 

virakochi

Устал
получилось что-то вроде
PHP:
preg_match_all('~\d~', $phone, $matches);
$search = "^([^0-9]*)".implode("([^0-9]*)", $matches[0])."([^0-9]*)$";
Поправьте, если где ошибся.
 

Кром

Новичок
Хе. Извращенство это все. Одно большое.
Если у тебя база телефонов, то приведи ее к нормальному виду. Допустим, сам номер - поле int, коды городов и т.д. - еще один int.
Соответственно при сравнении, номер, который сравниваешь, тоже приводи к числу.
 

virakochi

Устал
Знаю, что извращенство.. И это не база телефонов, а просто кусочек некоторой выборки.
Но клиент хочет чтоб в базе телефоны лежали как угодно, то есть чтобы он в админке видел их именно так, как ввели юзера, а вот сравнивались красиво. Потому так и приходится поступать..
 

Фанат

oncle terrible
Команда форума
заведи еще одно поле, где лежит номер в нормальном виде
 
Сверху