我在mysql数据库中有一个字符串保存,如下所示:
"This is the total 98+84+67"
当我使用php在我的页面中显示时,我希望字符串看起来像这样:
"This is the total 249"
这是否可以在插入数据库之前不先添加数字。只有在我将字符串显示到我的网站时添加?
请帮忙!
答案 0 :(得分:2)
$string = "This is the total 98+84+67 of the numbers 98, 84 and 67 if we add.";
preg_match("/[\d]+\+[\d+]+/",$string,$matches);
$numbers = explode("+",$matches[0]);
$sum = array_sum($numbers);
print preg_replace("/[\d]+\+[\d+]+/",$sum,$string);
答案 1 :(得分:0)
这段代码可以帮助你,你应该确保表达式最终没有任何空间
<?php
$str = "This is the total 98+84+67";
function calculate($str)
{
$exp = preg_replace('/[^0-9+]+/', "", $str);
eval("\$result = " . $exp . ";");
$str = str_replace($exp, $result, $str);
return $str;
}
echo calculate($str);
?>