fork download
  1. <?php
  2.  
  3. $text = <<<EOT
  4. B024560HERR S, KARL-HEINZ FAO031 D F 18.07.17 01.08.17 14 LH 1162 18.07.17 10:30 12:35 FRA FAO FRA 1 LH 1163 01.08.17 FAO 03.01.17 1
  5.   Frühbucher 10%
  6.   inkl. Reiseleitung
  7.   und Transfer ab/bis Flughafen
  8.   *REPEATER, BITTE ZIMMERGEGENÜBER DER BAR 3ER
  9.   UNVERBINDLICHER KUNDENWUNSCH
  10. B024560HERR S, KARL-HEINZ FAO031 D F 18.07.17 01.08.17 14 LH 1162 18.07.17 10:30 12:35 FRA FAO FRA 1 LH 1163 01.08.17 FAO 03.01.17 1
  11. B024560FRAU S, MARIA FAO031 D F 18.07.17 01.08.17 14 LH 1162 18.07.17 10:30 12:35 FRA FAO FRA 1 LH 1163 01.08.17 FAO 03.01.17 2
  12. EOT;
  13.  
  14.  
  15. $regex = '~
  16. (?<=\w)\h{2,}(?=\w)
  17. |
  18. (?=HERR|FRAU)
  19. |
  20. \h+(?=\d{2}\.\d{2}\.\d{2})
  21. |
  22. \h+(?=\d{2}:\d{2})
  23. ~x';
  24.  
  25. $lines = explode("\n", $text);
  26. foreach ($lines as $line) {
  27. $fields = preg_split($regex, $line);
  28. if (count($fields) > 1) {
  29. print_r($fields);
  30. }
  31. }
  32.  
  33. ?>
Success #stdin #stdout 0s 82944KB
stdin
Standard input is empty
stdout
Array
(
    [0] => B024560
    [1] => HERR S, KARL-HEINZ
    [2] => FAO031
    [3] => D
    [4] => F
    [5] => 18.07.17
    [6] => 01.08.17
    [7] => 14
    [8] => LH 1162
    [9] => 18.07.17
    [10] => 10:30
    [11] => 12:35
    [12] => FRA
    [13] => FAO
    [14] => FRA
    [15] => 1
    [16] => LH 1163
    [17] => 01.08.17
    [18] => FAO
    [19] => 03.01.17
    [20] => 1
)
Array
(
    [0] => B024560
    [1] => HERR S, KARL-HEINZ
    [2] => FAO031
    [3] => D
    [4] => F
    [5] => 18.07.17
    [6] => 01.08.17
    [7] => 14
    [8] => LH 1162
    [9] => 18.07.17
    [10] => 10:30
    [11] => 12:35
    [12] => FRA
    [13] => FAO
    [14] => FRA
    [15] => 1
    [16] => LH 1163
    [17] => 01.08.17
    [18] => FAO
    [19] => 03.01.17
    [20] => 1
)
Array
(
    [0] => B024560
    [1] => FRAU S, MARIA
    [2] => FAO031
    [3] => D
    [4] => F
    [5] => 18.07.17
    [6] => 01.08.17
    [7] => 14
    [8] => LH 1162
    [9] => 18.07.17
    [10] => 10:30
    [11] => 12:35
    [12] => FRA
    [13] => FAO
    [14] => FRA
    [15] => 1
    [16] => LH 1163
    [17] => 01.08.17
    [18] => FAO
    [19] => 03.01.17
    [20] => 2
)