我正在尝试从字符串中删除所有内容,但只是数字(0-9)。
我认为这会有用..
echo preg_replace("[^0-9]","",'604-619-5135');
但它回声“604-619-5135”。我错过了什么?
答案 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);
注意:它也适用于电话号码。