2014-06-18 72 views
-2

我需要從一個字符串中提取日期:例如字符串是「...從06/01/2014到2014年6月30日的期間」。我怎樣才能提取這兩個日期爲:從一個字符串中提取日期php

$date1 = "06/01/2014"; 
$date2="06/30/2014"; 
+1

隨着代碼。你的在哪裏? –

+0

這是您想要支持的唯一日期格式嗎? –

+0

只有「dd/mm/yyyy」格式 –

回答

1

這樣

$string = "period from 06/01/2014 to 06/30/2014"; 

$results = array(); 

preg_match_all('#\d{2}/\d{2}/\d{4}#', $string, $results); 

$date1 = $results[0][0]; 
$date2 = $results[0][1]; 
+0

有趣的是當我做了print_r($ results)時,我發現比我期望看到的要多 - 兩行包含同一對值的數組。 – Grzegorz

+0

@Grzegorz我刪除了組「(...)」,現在沒關係 –

+1

我將其標記爲結果。感謝您的修復。 – Grzegorz

0

正則表達式是你最好的選擇。

<?php 
$string = "period from 06/01/2014 to 06/30/2014"; 

$pattern = "/(\d{2}\/\d{2}\/\d{4})/"; 

preg_match_all($pattern, $string, $matches); 

$date1 = $matches[0][0]; 
$date2 = $matches[0][1]; 

echo "Date1: " . $date1 . "<br />"; 
echo "Date2: " . $date2; 

輸出:

Date1: 06/01/2014 
Date2: 06/30/2014 
+0

查看正則表達式:http://regexr.com/3912d – David