Регулярное выражение PHP для удаления всех символов, кроме цифр и точек - PullRequest
6 голосов
/ 20 января 2010

Я пытаюсь использовать preg_replace, чтобы удалить все символы из строки, кроме чисел и символов точки.

Я могу удалить все, кроме цифр, однако как я могу сделать исключение для '.' символ периода.

Кто-нибудь может мне помочь?

Ответы [ 2 ]

17 голосов
/ 20 января 2010

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

$clean = preg_replace('/[^\\d.]+/', '', $str);

Но вы также можете использовать [^0-9.], если вы более знакомы с этим. Обратите внимание, что . не нужно экранировать внутри объявления символьного класса, поскольку он не является специальным символом внутри (только ], \ и, в зависимости от контекста, также ^ и -).

5 голосов
/ 20 января 2010

Удалить все, что соответствует

[^0-9.]

, например

$output = preg_replace("/[^0-9.]/", "", $input);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...