2010-12-05 76 views
6

我想要一個字符串,並從0-9和 - (破折號)除去任何字符。從字符串只返回0-9和破折號

例子:

,如果我有一個字符串,它看起來像:

10 abc20-30

我怎樣才能讓這個字符串返回

10-20-30

(地帶所有除了數字和連字符)

是否有某種正則表達式來的preg_match或str_replace函數中使用?

回答

2

假設你的數據在$字符串,這將刪除所有字符,除了破折號和數字

$string = preg_replace('/[^-0-9]/', null, $string); 
11
$result = preg_replace('/[^\d-]+/', '', $subject); 

[^\d-]匹配除了數字或破折號任何字符; +表示這些中的「一個或多個」,所以相鄰的字符將被立即替換。

相關問題