我想将字符串中的所有点替换为逗号,但仅替换数字(在PHP中):
赞:
this is. an example. 15.68€
,它应该转换为this is. an example. 15,68€
是否有简单的preg_replace
或其他任何选择?
答案 0 :(得分:1)
尝试这个
$str = "this is. an example. 15.68€";
function cleaner($matches)
{
return str_replace("." , "," , $matches["nrs"]);
}
$str = preg_replace_callback ("/(?P<nrs>[0-9]+.[0-9]+)/" , "cleaner" , $str);
echo $str;
我用过preg_replace_callback
。该函数的行为与preg_replace()
几乎相同,除了以下事实外,应指定一个回调而不是替换参数。检查更多有关here的信息。您还可以测试我的解决方案的live preview。