String to time - 将eregi_replace转换为preg_match

时间:2014-08-22 13:11:50

标签: php regex preg-match eregi

现在我正在使用已弃用的函数eregi_replace(),我想将其转换为函数preg_match()。现在我有了这个:

foreach ($lesson as $key => $val) {
    $lesson_time[$key]->fromTime = eregi_replace('([0-9]{2})([0-9]{2})', '\1:\2',$val->fromTime);
}

其中input($ val-> fromTime)是字符串,例如08301150,输出为08:30或11:50。我对正则表达式不好,所以我想问一下这个函数如何转换为preg_match()。

3 个答案:

答案 0 :(得分:1)

preg_match('/([0-9]{2})([0-9]{2})/', $val->fromTime, $match);

print_r($match);

您无法使用preg_match替换字符串。您可以使用preg_replace。

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

答案 1 :(得分:1)

试试这个

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

答案 2 :(得分:1)

$lesson_time[$key]->fromTime = eregi_replace('/([0-9]{2})([0-9]{2})/','$1:$2',$val->fromTime);