このコードを変更して、指定された文字列から数字(既に存在する)と文字列を除くすべて を削除する方法: "."、"k "、"B "、および "M " ?
私が行っているのは、123k、124.7B、20M で指定された価格の解析です。
preg_replace("/\D/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
このコードを変更して、指定された文字列から数字(既に存在する)と文字列を除くすべて を削除する方法: "."、"k "、"B "、および "M " ?
私が行っているのは、123k、124.7B、20M で指定された価格の解析です。
preg_replace("/\D/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
これはトリックを行うはずです(問題で定義されているように):
preg_replace("/[^\.kBM0-9]/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
特に文字列に複数の数字がある場合(例のように)、 preg_match の方が良いと思います:
preg_match_all("/([0-9]+(\.[0-9]+)?\s?[kBM]?)/", "<td>Cost: 20b $, Sell for: 139k $</td>", $match );
$match
すべての数値は、配列内で適切に分離されている必要があります。