<?php
$str = 'Saturday, August 03, 2013
DUMP Pickup: LITTLE ROCK, AR
Dest: CALDWELL, TX
HOPPER Pickup: BEECH GROVE, IN
Dest: TERRE HAUTE, IN
Sunday, August 04, 2013
HOPPER Pickup: JONESBORO, AR
Dest: BATTLE CREEK, MI
LIVE BOTTOM Pickup: JONESBORO, AR
Dest: TAYLOR, MO' ;
function parse_( $str ) {
foreach ( explode ( "\n " , $str ) as $line ) { if ( strpos ( $line , ':' ) === false ) { $date = $line ;
}
elseif ( stripos ( $line , 'pickup:' ) ) { $string = $line ;
}
else {
$data [ $date ] [ ] = $string . ' -> ' . explode ( ': ' , $line ) [ 1 ] ; }
}
return $data ;
}
PD9waHAKJHN0ciA9ICdTYXR1cmRheSwgQXVndXN0IDAzLCAyMDEzCkRVTVAgUGlja3VwOiBMSVRUTEUgUk9DSywgQVIKRGVzdDogQ0FMRFdFTEwsIFRYCkhPUFBFUiBQaWNrdXA6IEJFRUNIIEdST1ZFLCBJTgpEZXN0OiBURVJSRSBIQVVURSwgSU4KU3VuZGF5LCBBdWd1c3QgMDQsIDIwMTMKSE9QUEVSIFBpY2t1cDogSk9ORVNCT1JPLCBBUgpEZXN0OiBCQVRUTEUgQ1JFRUssIE1JCkxJVkUgQk9UVE9NIFBpY2t1cDogSk9ORVNCT1JPLCBBUgpEZXN0OiBUQVlMT1IsIE1PJzsKCgpmdW5jdGlvbiBwYXJzZV8oICRzdHIgKSB7CiAgICAkZGF0YSA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCBleHBsb2RlKCAiXG4iLCAkc3RyICkgYXMgJGxpbmUgKSB7CiAgICAgICAgaWYgKCBzdHJwb3MoICRsaW5lLCAnOicgKSA9PT0gZmFsc2UgKSB7CiAgICAgICAgICAgICRkYXRlID0gJGxpbmU7CiAgICAgICAgfQogICAgICAgIGVsc2VpZiggc3RyaXBvcyggJGxpbmUsICdwaWNrdXA6JyApICkgewogICAgICAgICAgICAkc3RyaW5nID0gJGxpbmU7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkZGF0YVskZGF0ZV1bXSA9ICRzdHJpbmcgLiAnIC0+ICcgLiBleHBsb2RlKCAnOiAnLCAkbGluZSApWzFdOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAkZGF0YTsKfQoKcHJpbnRfciggcGFyc2VfKCAkc3RyICkgKTsKCg==
stdout
Array
(
[Saturday, August 03, 2013] => Array
(
[0] => DUMP Pickup: LITTLE ROCK, AR -> CALDWELL, TX
[1] => HOPPER Pickup: BEECH GROVE, IN -> TERRE HAUTE, IN
)
[Sunday, August 04, 2013] => Array
(
[0] => HOPPER Pickup: JONESBORO, AR -> BATTLE CREEK, MI
[1] => LIVE BOTTOM Pickup: JONESBORO, AR -> TAYLOR, MO
)
)