i bir işlevi veya değeri "2008 Gelir 5700390000 $" dır dize sayısal değeri almak için bir kod istiyorum. i istediğiniz çıktı 5700390000 $ olduğunu.
Bu yerleşik "floatval ()" fonksiyonu ve normal bir ifade kullanan bir hibrid - Bu daha karmaşık dizeleri ile ilgilenir.
function floatvalue($value) {
return floatval(preg_replace('#^([-]*[0-9\.,\' ]+?)((\.|,){1}([0-9-]{1,2}))*$#e', "str_replace(array('.', ',', \"'\", ' '), '', '\\1') . '.\\4'", $value));
}
Örneğin daha basit durumlar "32121.54BLAH" varsa, floatval () yardımı olmadan bu idare edecek.
Bu iyi bir kullanımı olabilir regular expressions (how to with PHP).
Ifadesi \$[\d,]+
iş gibi görünüyor.