如何修改此代码以删除来自给定字符串的所有内容 数字(已存在) AND 字符串:“。”,“k”,“B”和“M”?
我正在做的是解析给出的价格:123k,124.7B,20M
preg_replace("/\D/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
答案 0 :(得分:0)
这应该可以解决问题(如定义所述):
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
数组中很好地分开。