RSS フィードから JS オブジェクトを入力するカレンダーを作成しています。この RSS フィードは、社内で使用されている CMS から自動的に生成されます。CMS 側も、返された RSS フィードも変更できません。私がアクセスできるのは、そのフィードから構築されたオブジェクトだけです。
RSS フィードは、開始日、終了日、時間、およびタイトルをすべて 1 つの文字列に結合します。カレンダーに表示できるように、オブジェクト内のキーに分割する必要があります。
私が直面している問題は、CMS でイベントがどのように設定されているかによって、RSS フィードが文字列を異なる形式でフォーマットすることです。例えば:
"7/15/2013 8:00 PM - 9:00 PM Blah" //Date, Time, Title
"7/12/2013 Blue" //Date for all day event, Title
"7/6/2013 8:00 AM - 7/23/2013 9:00 AM Banana" //Long event - Start Date, Start Time, End Date, End Time, Title
ご覧のとおり、これらがどのように異なるのか、これらをオブジェクトに解析する方法を決定するのに苦労しています。オブジェクトは次のようになります。
{
title: 'Banana',
start: new Date(2013, 7, 24, 10, 30),
end: new Date(2013, 7, 24, 11, 30),
allDay: false
}
私の質問は次のとおりです。これにアプローチする最良の方法は何ですか? 正規表現を使用し、手動で解析してみたり.indexOf("/")
、それぞれのテスト ケースを作成したり、その他の提案を行ったりします。
PS: jQuery の例も受け入れられる回答です。