我建立了一个谷歌货币转换器,但我不理解这部分代码
$converted_amount = preg_replace("/[^0-9\.]/", null, $get[0]);
这种模式的作用是什么,null是什么意思?
完整代码:
$amount = urlencode($_POST['amount']);
$from_Currency = urlencode($_POST['from']);
$to_Currency = urlencode($_POST['to']);
$get = file_get_contents("https://www.google.com/finance/converter?a=$amount&from=$from_Currency&to=$to_Currency");
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
print_r($get);
$converted_amount = preg_replace("/[^0-9\.]/", null, $get[0]);
答案 0 :(得分:0)
虽然Nicolas Maltais所写的内容基本上是正确的,但有点不清楚。
[^0-9\.]
...只匹配一个字符。 - 是的,preg_replace
替换所有匹配项,因为没有指定 limit ,从而删除字符串中的所有其他字符。null
表示替换为空字符串 - 似乎是真的,但preg_replace
手册中没有记录。只有经过一番搜索后,我才在字符串页面Converting to string部分找到提示:
字符串转换是在一个范围内自动完成的 表达式需要一个字符串。 ...
NULL
始终转换为空字符串。
答案 1 :(得分:-1)
[^0-9\.]
表示除数字0123456789
和.
之外的任何字符。这只会匹配一个字符。 null
表示替换为空字符串,换句话说将其删除。下次您可以在Google上进行简单搜索并找到相同的信息。