Php 用preg_匹配替换时间字符串中的点
我试图用“18:00”和“18:00/23:00”替换像“18.00”或“18.00/23.00”这样的时间字符串 现在我已经做了一些东西,但它不起作用,而且我对此没有太多经验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"); ^
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位数后的冒号。