0

現在eregi_replace()、非推奨の function を使用しており、それを function に変換したいと考えていますpreg_match()。今私はこれを持っています:

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

ここで、入力 ($val->fromTime) は0830orなどの文字列で1150、出力は 08:30 または11:50です。私は正規表現が苦手なので、同じプロセスでこの関数を preg_match() に変換する方法を尋ねたいと思います。

4

3 に答える 3

1
$lesson_time[$key]->fromTime = eregi_replace('/([0-9]{2})([0-9]{2})/','$1:$2',$val->fromTime);
于 2014-08-22T13:19:15.020 に答える
1

これを試して

echo preg_replace('/([0-9]{2})([0-9]{2})/', '\\1:\\2',$val->fromTime);
于 2014-08-22T13:16:26.380 に答える
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);
于 2014-08-22T13:15:37.363 に答える