从字符串中获取数字字符


getting numeric chars out of string

我有一个字符串(电话号码),例如+1(234)567-89-01+12345678901。删除非数字字符最简单的方法是什么?

提前谢谢!

我想你的意思是删除,而不是转义。为此,您可以简单地使用regex:

$numbers = preg_replace('/'D/', '', $string);

'D匹配所有非数字字符,因此通过用空字符串替换它们,您将得到一个包含非数字的字符串。

这将在开始时返回带"+"的数字:

$str = "+1(234)567-89-01";
$number = preg_replace('/[^+'d]/', '', $str);
echo $number;