0

如何修改此代码以从给的字符串 (已经存在)字符串中删除所有内容:“.”、“k”、“B”和“M”?

我正在做的是解析给出的价格:123k、124.7B、20M

preg_replace("/\D/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
4

1 回答 1

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数组中很好地分开。

于 2012-05-02T10:57:29.913 回答