我想将字符串中的所有点替换为逗号,但仅适用于数字(在PHP中(:
喜欢:
this is. an example. 15.68€
它应该转换为类似this is. an example. 15,68€
有没有简单的preg_replace
或任何其他选择?
试试这个
$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()
相同,除了应该指定一个回调而不是替换参数。在此处查看有关它的更多信息。 您还可以测试我的解决方案的实时预览。