Php 用preg_匹配替换时间字符串中的点

Php 用preg_匹配替换时间字符串中的点,php,preg-replace,Php,Preg Replace,我试图用“18:00”和“18:00/23:00”替换像“18.00”或“18.00/23.00”这样的时间字符串 现在我已经做了一些东西,但它不起作用,而且我对此没有太多经验 preg_replace("/\d{1,2}.\d{1,2}/","$1:$2","18.00/23.00"); 添加捕捉括号并转义圆点: echo preg_replace("/(\d{1,2})\.(\d{1,2})/","$1:$2","18.00/23.00"); ^

我试图用“18:00”和“18:00/23:00”替换像“18.00”或“18.00/23.00”这样的时间字符串

现在我已经做了一些东西,但它不起作用,而且我对此没有太多经验

preg_replace("/\d{1,2}.\d{1,2}/","$1:$2","18.00/23.00");

添加捕捉括号并转义圆点:

echo preg_replace("/(\d{1,2})\.(\d{1,2})/","$1:$2","18.00/23.00");
                    ^       ^^ ^       ^

$1
$2
是指向用捕获的内容。

您可以改用

str_replace(".", ":",$your_date);

这可能会产生不需要的替换。例如,如果您将字符串更改为
,则正常时间见。18.00/23.00
。Wiktor的回答仍然有效,但对你来说,
也会被转换成
在正常时间见:18:00/23:00
你说得对,但op只需询问18.00这样的时间字符串,更不用说他必须小心这是真的,但是带有
的正则表达式(\d{1,2})
表明它专门用于1或2位数后的冒号。