fork download
  1. <?php
  2. $str = 'Saturday, August 03, 2013
  3. DUMP Pickup: LITTLE ROCK, AR
  4. Dest: CALDWELL, TX
  5. HOPPER Pickup: BEECH GROVE, IN
  6. Dest: TERRE HAUTE, IN
  7. Sunday, August 04, 2013
  8. HOPPER Pickup: JONESBORO, AR
  9. Dest: BATTLE CREEK, MI
  10. LIVE BOTTOM Pickup: JONESBORO, AR
  11. Dest: TAYLOR, MO';
  12.  
  13.  
  14. function parse_( $str ) {
  15. $data = array();
  16. foreach( explode( "\n", $str ) as $line ) {
  17. if ( strpos( $line, ':' ) === false ) {
  18. $date = $line;
  19. }
  20. elseif( stripos( $line, 'pickup:' ) ) {
  21. $string = $line;
  22. }
  23. else {
  24. $data[$date][] = $string . ' -> ' . explode( ': ', $line )[1];
  25. }
  26. }
  27. return $data;
  28. }
  29.  
  30. print_r( parse_( $str ) );
  31.  
  32.  
Success #stdin #stdout 0.01s 20568KB
stdin
Standard input is empty
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
        )

)