2013-01-21 17 views
1

我有大的陣列獲取與差異strpos()substr()preg_replace函數:將字符串日期格式

$array[n] = ('Jan 23', 'From Jan 4 to Feb 1', 'Jul 5 to 10'); 

,我希望的過程將其轉換爲:

$array[n] = ('2013-01-23','2013-01-04/2013-02-01','2013-07-05/2013-07-10); 

感謝您的幫助。 我打算使用strpos()來獲取日期字符串到數組中。 之後,我打算爆炸日期數組,然後執行foreach($date as $index => $value),如果我可以將它轉換爲字符串,那麼它是一個日期,我可以使用兩位數字,與月份名稱匹配幾個月。然後形成所需的字符串。

有沒有更好的解決辦法?

+0

向我們顯示您的代碼。 – nickb

+1

我認爲preg_replace是最低效的方法。我認爲你應該尋找更好的方法。 – Kamil

+0

您是否考慮過開始日期爲12月25日和1月1日結束時發生了什麼?沒有給出的年份...... – Kamil

回答

2

爲什麼不使用strtotime()函數和date_format()函數?使用正則表達式和字符串解析處理所有可能的格式可能非常困難。

date('Y-m-d', strtotime('your_string')); 
+1

沒有任何示例代碼,這更適合作爲評論,而不是答案,特別是因爲它是一個問題。 – nickb

相關問題