现在我正在使用已弃用的函数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)是字符串,例如0830
或1150
,输出为08:30或11:50
。我对正则表达式不好,所以我想问一下这个函数如何转换为preg_match()。
答案 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);