我有一些字符串,我需要找到<之间的数字。 >括号,我发现有关堆栈溢出的帖子,我正在尝试使用我在那里找到的代码
$colops = preg_replace_callback( '/\<(\d+)\>/', function( $match) {
return '<' . ($match[1] * 1.15) . '>';
}, $row_products['colops']);
我的字符串看起来像这样
无存储&lt; 118.54&gt;,存储2抽屉&lt; 158.54&gt;,存储与 滑块&LT; 138.54&GT;
我这样做是对的,有更好的方法吗?
答案 0 :(得分:2)
\d
仅匹配数字。为了捕捉118.54
等内容,你似乎也需要匹配点。
你的表达应该是这样的:
$colops = preg_replace_callback('/\<([\d.,]+)\>/', function($match) {
return '<' . number_format(floatval($match[1]) * 1.15, 2) . '>';
}, $row_products['colops']);