2010-01-20 8 views

Odpowiedz

13

Spróbuj tego:

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

Ale można też użyć [^0-9.] jeśli jesteś bardziej zaznajomieni z tym. Zauważ, że . nie wymaga ucieczki wewnątrz deklaracji klasy postaci, ponieważ nie jest tam wewnątrz znaku specjalnego (tylko ], \ i w zależności od kontekstu także ^ i -).

+0

nie "+", ale raczej 'g' :) – Tomalak

+1

@ Tomalak: Nie ma modyfikatora * g * w PCRE w PHP. Wymiana jest zawsze globalna. – Gumbo

+0

Dzięki za wyjaśnienie, nie wiedziałem o tym. – Tomalak

5

Usuń wszystko pasujący

[^0-9.] 

przykład

$output = preg_replace("/[^0-9.]/", "", $input); 
Powiązane problemy