ursus contionabundo: RegEX Problem (Verbessert)

Beitrag lesen

Das jeder EIntrag in einem Array ist und immer nach Datum getrennt wird.

Ach? So?

<?php
$txt='20.11.18 10:26:12     Datei zur Bank uebertragen                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04E
         Teilnehmer : XXX                    
         Ergebnis   : Uebertragung in Ordnung [01]                      
                      Datenuebertragung verschluesselt [04]             
                      Datenuebertragung komprimiert [05]                
                                                                        
20.11.18 10:26:13     Unterschriftspruefung [21]                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04E
         Teilnehmer : XXX                    
         Ergebnis   : Unterschrift(en) in Ordnung [24]                  
         Dateiname  :                                                   
                                                                        
    ====================================================================
     L A S T S C H R I F T E N                                          
     Datei-ID   : MSG5bf3d3332ebbd4.39934837                            
     Datum/Zeit : 20.11.2018/10:26:11+01:00                             
    --------------------------------------------------------------------
     Sammlerreferenz          : PAYMENT5bf3d3332ec0b8.04263918          
     Bank-Code                : XXX
     Kontonummer              : DEXXX
     Auftraggeberdaten        : XXX                          
     Anzahl der Zahlungssaetze: 1                                       
     Summe der Betraege (EUR) : 72,42                                   
     Faelligkeitsdatum        : 22.11.2018                              
    ====================================================================

20.11.18 10:55:19     Datei zur Bank uebertragen                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04F
         Teilnehmer : XXX                   
         Ergebnis   : Uebertragung in Ordnung [01]                      
                      Datenuebertragung verschluesselt [04]             
                      Datenuebertragung komprimiert [05]                
                                                                        
20.11.18 10:55:19     Unterschriftspruefung [21]                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04F
         Teilnehmer : XXX                
         Ergebnis   : Datei ist in ihrem Aufbau fehlerhaft [54]';


$regex = "/[0-9]{2}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\s/";
preg_match_all( $regex , $txt , $delims );
$parts = preg_split( $regex , $txt );
array_shift ( $parts );

for ( $i=0; $i < count( $delims[0] ); $i++ ) {
   	$parts[$i] = $delims[0][$i] . $parts[$i];
}

print_r( $parts );

Ergebnis:

Array
(
    [0] => 20.11.18 10:26:12     Datei zur Bank uebertragen                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04E
         Teilnehmer : XXX                    
         Ergebnis   : Uebertragung in Ordnung [01]                      
                      Datenuebertragung verschluesselt [04]             
                      Datenuebertragung komprimiert [05]                
                                                                        

    [1] => 20.11.18 10:26:13     Unterschriftspruefung [21]                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04E
         Teilnehmer : XXX                    
         Ergebnis   : Unterschrift(en) in Ordnung [24]                  
         Dateiname  :                                                   
                                                                        
    ====================================================================
     L A S T S C H R I F T E N                                          
     Datei-ID   : MSG5bf3d3332ebbd4.39934837                            
     Datum/Zeit : 20.11.2018/10:26:11+01:00                             
    --------------------------------------------------------------------
     Sammlerreferenz          : PAYMENT5bf3d3332ec0b8.04263918          
     Bank-Code                : XXX
     Kontonummer              : DEXXX
     Auftraggeberdaten        : XXX                          
     Anzahl der Zahlungssaetze: 1                                       
     Summe der Betraege (EUR) : 72,42                                   
     Faelligkeitsdatum        : 22.11.2018                              
    ====================================================================


    [2] => 20.11.18 10:55:19     Datei zur Bank uebertragen                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04F
         Teilnehmer : XXX                   
         Ergebnis   : Uebertragung in Ordnung [01]                      
                      Datenuebertragung verschluesselt [04]             
                      Datenuebertragung komprimiert [05]                
                                                                        

    [3] => 20.11.18 10:55:19     Unterschriftspruefung [21]                        
         Hostname   : MULTIVIA                                          
         Auftrag    : Einreichen von Lastschriften              CDD N04F
         Teilnehmer : XXX                
         Ergebnis   : Datei ist in ihrem Aufbau fehlerhaft [54]
)

Mir ist aufgefallen, dass vor dem ersten Datum ja $irgendwas stehen kann. Und sei es ein Zeilenumbruch oder eine BOM ...