preg_replace - убирает ненужные символы из строки, чтобы вернуть числовое значение - PullRequest
7 голосов
/ 09 января 2011

Я ненавижу регулярные выражения и надеялся, что кто-нибудь сможет помочь с регулярным выражением, которое будет использоваться с preg_replace.

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

Формат строки может быть следующим:

НЕКОТОРЫЙ ТЕКСТ £ 100

£ 100 НЕКОТОРЫЙ ТЕКСТ

НЕКОТОРЫЙ ТЕКСТ 100 НЕКОТОРЫЙ ТЕКСТ

Большое спасибо

Ответы [ 4 ]

17 голосов
/ 09 января 2011
$NumericVal = preg_replace("/[^0-9]/","",$TextVariable);

^ внутри [] означает все, кроме следующего:

Редактировать Удалено лишнее +

8 голосов
/ 25 июня 2012
$l = preg_replace("/[^A-Z0-9a-z\w ]/u", '', $l);

Работает с UTF-8, разрешить только A-Z a-z 0-9 łwóc ... и т. Д.

0 голосов
/ 09 января 2011

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

preg_replace("/\D+/", "", "SOME TEXT £100")

Вы также можете использовать preg_match, чтобы получить первый номер:

preg_match("/\d+/", "SOME TEXT £100", $matches);
$number = $matches[0];
0 голосов
/ 09 января 2011
preg_replace('/[^0-9]/','',$text);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...