2010-01-20 171 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); 
相關問題