duancheng6221 2019-04-18 09:19
浏览 72
已采纳

如何用逗号替换点,但仅用字符串中的数字? (PHP)

I want to replace all dots in a string to commas, but only for numbers (in PHP):

Like :

this is. an example. 15.68€

and it should be converted to something like this is. an example. 15,68€

Is there an easy preg_replace or any other option ?

  • 写回答

1条回答 默认 最新

  • drz49609 2019-04-18 09:26
    关注

    Try this one

      $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;
    

    I have used preg_replace_callback. The behavior of this function is almost identical to preg_replace(), except for the fact that instead of replacement parameter, one should specify a callback. Check for more about it here. You can also test the live preview of my solution.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来