it-roy-ru.com

PHP preg_replace разрешает только номера

Как я могу изменить это существующее preg_replace, чтобы разрешить только числа?

function __cleanData($c) 
{
    return preg_replace("/[^A-Za-z0-9]/", "",$c);
}
49
Ryan

Я думаю, вы говорите, что хотите удалить все нечисловые символы. Если это так, \D означает «все, что не является цифрой»:

preg_replace('/\D/', '', $c)
141
lonesomeday

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

return preg_replace("/[^0-9]/", "",$c);
28
qbert220

Это должно делать то, что вы хотите:

preg_replace("/[^0-9]/", "",$c);
16
oezi

Вы также можете использовать библиотека T-Regx :

pattern('\D')->remove($c)

T-Regx также:

  • Выдает исключения при сбое (не false, null или предупреждения)
  • Имеет автоматические разделители (разделители не требуются!)
  • Имеет много чистого API
0
Danon