我怎麼能爆炸$123
或USD123
或CAD$123
或元123
動態到爆炸標價籤及數量
array [0] = "$"
array [1] = 123
?
$keywords = preg_split("/[^0-9]/", "$123");
以上是我的測試代碼,但我不能得到array[0]
$
,任何想法?
感謝
我怎麼能爆炸$123
或USD123
或CAD$123
或元123
動態到爆炸標價籤及數量
array [0] = "$"
array [1] = 123
?
$keywords = preg_split("/[^0-9]/", "$123");
以上是我的測試代碼,但我不能得到array[0]
$
,任何想法?
感謝
$string = '$123';
$string = preg_match('/^(\D+)(\d+)$/', $string, $match);
echo $match[1]; // $
echo $match[2]; // 123
擊穿:
^(\D+)
匹配1個或多個非數字的字符串
(\d+)$
匹配1個或多個數字,直到字符串的結尾
試試這個,將所有的工作。
$str = 'CAD$123';
$num = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
$curr = explode($num,$str);
echo 'Your currency is '.$curr[0].' and number is '.$num;
http://stackoverflow.com/questions/3002254/split-currency-and-amount-from-a-string – 2013-03-05 07:49:46
您可以使用此
$txt='$123';
$re1='(\\$)'; # Any Single Character 1
$re2='(\\d+)'; # Integer Number 1
if ($c=preg_match_all ("/".$re1.$re2."/is", $txt, $matches))
{
$c1=$matches[1][0];
$int1=$matches[2][0];
print "($c1) ($int1) \n";
}
個
可以使用的preg_match與以下的正則表達式
preg_match('/([^0-9]*)([0-9\.]*)(.*)?/', '$20.99USD', $match);
var_dump($match);
以上會產生
Array
(
[0] => $20.99USD
[1] => $
[2] => 20.99
[3] => USD
)
它可以分析$,20.99,美元作爲一個單獨的索引array
你拿了th我的口中有我的話! – Andrew 2013-03-05 07:50:23