0

我有一些字符串需要在 < > 括号之间找到数字,我找到了关于堆栈溢出的帖子,我正在尝试使用在那里找到的代码

$colops = preg_replace_callback( '/\<(\d+)\>/', function( $match) {
    return '<' . ($match[1] * 1.15) . '>';
}, $row_products['colops']);

我的字符串看起来像这样

无储物<118.54>,储物2抽屉<158.54>,带滑盖储物<138.54>

我这样做对吗,有没有更好的方法来做到这一点?

4

1 回答 1

2

\d将只匹配数字。看来您也需要匹配点才能捕获118.54.

你的表达应该更像这样:

$colops = preg_replace_callback('/\<([\d.,]+)\>/', function($match) {
    return '<' . number_format(floatval($match[1]) * 1.15, 2) . '>';
}, $row_products['colops']);
于 2013-09-04T16:26:05.673 回答