我正在使用USAePay的[可怕] PHP库连接到他们的网关,但是我收到以下错误:
不推荐使用:函数ereg_replace()在第320行的... / usaepay.php中已弃用
这对应于以下行:
$this->amount = ereg_replace("[^[:digit:].]", "", $this->amount);
所以,我想用preg_replace
将其切换出来
这就是我的想法:
$this->amount = ereg_replace("/[^[\d].]/", "", $this->amount);
这是否等同于上面的那个?
答案 0 :(得分:4)
您可能想要获取最新版本的usaepay库:
https://github.com/usaepay/usaepay-php
用以下内容替换相关行:
$this->amount=preg_replace("/[^0-9\.]/","",$this->amount);
答案 1 :(得分:3)
您希望从表示金额的字符串中删除任何非数字或非句点字符。你可以这样做:
$this->amount = preg_replace("/[^\d.]/", "", $this->amount);
使用正则表达式:
[ - Start of character class
^ - Negation
\d - any digit
. - a literal perios
] - end of character class