2011-12-20 23 views
-2

可能性の重複:
PHP code to remove everything but numbersPHPで数値以外のすべてを除外する方法は?

私はいくつかのコンテンツを返すループを持っていると私は数字だけ取り戻すようにフィルタリングする:

foreach ($number as $k => $content) { 
    echo "<td>" . $content . "</td>"; 
} 

この意志返品:

Sender Number,, 
1818233483,, - aaa 
1562595441,, - aaa 
1870750493,, - aaa 
1832677004,, - aaa 
1832466803,, - aaa 

と私はので、私は数字だけをフィルタリングします正規表現か何かのいくつかの王をしたい:

1818233483 
1562595441 
1870750493 
1832677004 
1832466803 

も私は数字以外のすべてをチェックする必要があるので、そこにあるかもしれない何文字かわかりません。

おかげ

編集: 私はこのでした: $テスト=にpreg_replace( "/ [^ 0-9] /"、 ""、$コンテンツ)。

が、私は得る:

Sender Number,, 
1818233483 
1562595441 
1870750493 
.. 
+0

はカンマで爆発、または長さが固定されたSUBSTRの場合)、正規表現がオーバー –

+0

を殺すことになるいこれはあなたの質問に答えますか? http://stackoverflow.com/questions/6604455/php-code-to-remove-everything-but-numbers – VikingBadger

答えて

3

使用この:

foreach ($number as $k => $content) { 
    echo "<td>" . preg_replace('/[^0-9]/', '', $content) . "</td>"; 
} 

編集:

foreach($number as $k => $content) { 
    if(is_numeric(substr($content, 0, 4)) { 
     echo "<td>" . preg_replace('/[^0-9]/', '', $content) . "</td>"; 
    } 
} 
+0

私はまだ最初の行 'Sender Number ,,'を取得します。結果からすべての文字列を削除する必要があります – Patrioticcow

+0

送信者番号は、$ numberの最初の要素であり、ハードコードされていませんか? –

2

はありませんすべての文字を交換してみてください,,発信者番号を削除するには、このを試してみてくださいpreg_replaceを使用して何もない桁

foreach ($number as $k => $content) { 
    echo "<td>" . preg_replace('/[^0-9]/', '', $content) . "</td>"; 
} 

、より効率的なアプローチはそうのような、カンマで文字列処理を行うことであるかもしれない:(

foreach ($number as $k => $content) { 
    echo "<td>" . substr($content, 0, strpos($content, ',')) . "</td>"; 
}