使用存储在MySQL DB中的PHP在字符串中添加数字

时间:2014-07-21 05:18:20

标签: php mysql

我在mysql数据库中有一个字符串保存,如下所示:

"This is the total 98+84+67"

当我使用php在我的页面中显示时,我希望字符串看起来像这样:

"This is the total 249"

这是否可以在插入数据库之前不先添加数字。只有在我将字符串显示到我的网站时添加?

请帮忙!

2 个答案:

答案 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);

Demo

答案 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);
?>