如何修改此代码以从给定的字符串 (已经存在)和字符串中删除所有内容:“.”、“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
数组中很好地分开。