Php 字符串到时间-将eregi_替换转换为preg_匹配

Php 字符串到时间-将eregi_替换转换为preg_匹配,php,regex,preg-match,eregi,Php,Regex,Preg Match,Eregi,现在我使用的是不推荐使用的函数eregi\u replace(),我想将其转换为函数preg\u match()。现在我有这个: foreach ($lesson as $key => $val) { $lesson_time[$key]->fromTime = eregi_replace('([0-9]{2})([0-9]{2})', '\1:\2',$val->fromTime); } 其中输入($val->fromTime)是字符串,例如0830或1150,输出

现在我使用的是不推荐使用的函数
eregi\u replace()
,我想将其转换为函数
preg\u match()
。现在我有这个:

foreach ($lesson as $key => $val) {
    $lesson_time[$key]->fromTime = eregi_replace('([0-9]{2})([0-9]{2})', '\1:\2',$val->fromTime);
}
其中输入($val->fromTime)是字符串,例如
0830
1150
,输出是08:30或
11:50
。我不擅长使用正则表达式,所以我想问一下,如何将这个具有相同进程的函数转换为preg_match()

不能用preg_match替换字符串。您可以使用preg_替换

preg_replace('/([0-9]{2})([0-9]{2})/', '$1:$2', $val->fromTime);
不能用preg_match替换字符串。您可以使用preg_替换

preg_replace('/([0-9]{2})([0-9]{2})/', '$1:$2', $val->fromTime);
不能用preg_match替换字符串。您可以使用preg_替换

preg_replace('/([0-9]{2})([0-9]{2})/', '$1:$2', $val->fromTime);
不能用preg_match替换字符串。您可以使用preg_替换

preg_replace('/([0-9]{2})([0-9]{2})/', '$1:$2', $val->fromTime);
试试这个

echo preg_replace('/([0-9]{2})([0-9]{2})/', '\\1:\\2',$val->fromTime);
试试这个

echo preg_replace('/([0-9]{2})([0-9]{2})/', '\\1:\\2',$val->fromTime);
试试这个

echo preg_replace('/([0-9]{2})([0-9]{2})/', '\\1:\\2',$val->fromTime);
试试这个

echo preg_replace('/([0-9]{2})([0-9]{2})/', '\\1:\\2',$val->fromTime);

\1
在替换中是无效语法。应为
\\1
$1
\1
替换为无效语法。应为
\\1
$1
\1
替换为无效语法。应为
\\1
$1
\1
替换为无效语法。应该是
\\1
$1