目前我知道的唯一一个全局 PHP 命令是:
<?=$text_items?>
这吐了:
1 item(s) - £318.75
我想获取 318.75
值,所以目前我正在尝试替换,但它并不能正常工作:
$short = $text_items;
$short = str_replace("£", "", $short);
$short = str_replace("£", "", $short);
$short = str_replace("-", "", $short);
$short = str_replace("–", "", $short);
$short = str_replace(" ", "", $short);
$short = str_replace("-", "", $short);
$short = str_replace("ITEMS", "", $short);
$short = str_replace("(", "", $short);
$short = str_replace(")", "", $short);
$short = str_replace("item(s)", "", $short);
$short = str_replace("ITEM", "", $short);
最佳答案
$total = @floatval(end(explode('£', html_entity_decode($text_items))));
html_entity_decode
将£
更改为£
end(explode('£'
在 '£
' 字符之后给你字符串- 最后
floatval
将字符串赋值为 float 。 - @ 正在绕过在
end()
函数中传递常量时发生的E_STRICT
错误。
第二种解决方案是正则表达式:
preg_match_all('!\d+(?:\.\d+)?!', $text_items, $result);
echo $result[1];
关于php - 如何在任何页面上显示 OpenCart 上的小计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12095789/