2010-01-20 69 views

回答

13

试试这个:

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

但你也可以使用[^0-9.]如果你更熟悉。请注意,.不需要在字符类声明内转义,因为它不是内部的特殊字符(只有],\以及取决于上下文,还有^-)。

+0

不是'+',而是'g' :) – Tomalak 2010-01-20 15:00:12

+1

@Tomalak:在PHP的PCRE中没有* g *修饰符。替代始终是全球性的。 – Gumbo 2010-01-20 15:03:20

+0

谢谢澄清,我没有意识到这一点。 – Tomalak 2010-01-20 15:04:24

5

删除匹配

[^0-9.] 

如一切

$output = preg_replace("/[^0-9.]/", "", $input); 
相关问题