Предполагая, что это вопрос хозяина, но я не вижу, как это может быть чтение неправильно (отлично работает на locahost)дб вставка возврата значений тарабарщину с числовым значением
Я возвращая array
называется $result
, для этого экземпляр цикла, $v
это телефонный номер
$k = 'phone';
$v = '(555) 555-1212)';
Я попытался
$result[$k] = preg_replace('/(\W*)/', '', $v);
Я также попытался
$result[$k] = preg_replace('/[^0-9]/', '', $v);
Я получил значения $v
ничего от -198040413
к 1260583916
ожидаемого результата будет 5555551212
вторя результатов на страницу для обоих случаев дает ожидаемый результат, поэтому его не проблема preg_repalce, должна быть проблема с db
Я знаю, что это не проблема с лимитом int
, я использую varchar(10)
для тестирования проблемы
хост Arvixe.com
с помощью PHP 5.3.27
, я имел другие конфликты с ними, но preg_replace
должно быть довольно прямо вперед код (вы могли бы подумать)
Попробуйте проверить 'echo preg_replace ('/ \ D + /', '', $ v);' first. – anubhava
Вам необходимо уменьшить объем проблемы. Попробуйте сначала выполнить эхо-повтор, не сохраняя его в базе данных. Если он не работает должным образом, вы можете с уверенностью сказать, что база данных в порядке и проблема в другом месте. Теперь я не могу понять, в чем проблема. Вы не дали ожидаемых результатов и того, что вы на самом деле получаете. Также вещь о 'int':' preg_replace() 'не возвращает int, она возвращает строку. В основном я думаю, что вы смешиваете вещи – HamZa
с ожидаемым результатом, только с 10-значным номером – Kender