PHP代码删除除数字之外的所有内容

时间:2011-07-07 00:09:20

标签: php regex string

我正在尝试从字符串中删除所有内容,但只是数字(0-9)。

我认为这会有用..

echo preg_replace("[^0-9]","",'604-619-5135');

但它回声“604-619-5135”。我错过了什么?

4 个答案:

答案 0 :(得分:233)

试试这个:

preg_replace('/[^0-9]/', '', '604-619-5135');

preg_replace使用PCRE,通常以/开头和结尾。

答案 1 :(得分:93)

这是针对未来的开发者,您也可以试试这个。也很简单

echo preg_replace('/\D/', '', '604-619-5135');

答案 2 :(得分:11)

您需要将模式包含在分隔符中 - 通常使用斜杠(/)。试试这个:

echo preg_replace("/[^0-9]/","",'604-619-5135');

答案 3 :(得分:3)

对于那些不想使用正则表达式的人来说,是一种更为实用的方法:

$data = filter_var($data, FILTER_SANITIZE_NUMBER_INT);

注意:它也适用于电话号码。