2009-09-02 9 views
1

文字列から時刻を解析する最も良い方法は何ですか?regex/php:文字列から時間を解析しますか?

例文字列:「これは10:45です。これは10:48、10:49、10:50、22:15です」;

[0] = 10:45

[1] = 10時48

[2] = 10:49

[3] = 10:リターン期待

。 50

[4] = 22:15

お返事ありがとうございます!

答えて

6

これは、あなたが望む出力を与えると時間の第1の位置と分の最初の位置の有効な値にあなたの時間/分の数字を制限します:

$y = "this is 10:45 this is 10:48, 10:49, 10:50, 22:15"; 
preg_match_all("/(([0-1]\d|2[0-3]):[0-5]\d)/",$y,$matches); 
print_r($matches[1]); 
/* 
Outputs: 
Array ([0] => 10:45 [1] => 10:48 [2] => 10:49 [3] => 10:50 [4] => 22:15) 
/* 
+1

あなたがおそらく正規表現を '/([0-1] \ d | 2 [0-3]):[0-5] \ d /'に変更する必要があるのであれば、 '27:00' – RaYell

+0

これはすばらしい改善です。追加するために私の答えを編集します。ありがとう。 – zombat

0

これはかなり単純なケースのようです。あなたは$matchesアレイ内のすべてのあなたの一致を持つことになります

2
preg_match_all('/\d{2}:\d{2}/', $string, $matches); 

: "\ D \ D// \ D \ D" とpreg_match_allしてみてください。

+1

場合にのみ、すべての一致を持っています'preg_match_all()'を使用します。 –

+0

@Chris Lutz - 良い点。 – RaYell

関連する問題