Konfigurationsdatei in ein Array packen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Konfigurationsdatei in ein Array packen

    Hallo,
    wie kann ich mit preg_match_all eine configdatei die so aussieht:

    PHP-Code:
    <VirtualHost 127.0.0.1:80>
      
    ksabfdsaf sdafsdf
      sdfdsdf sdfsdf
    </VirtualHost>

    <
    VirtualHost 127.0.0.1:80>
      
    ksabfdsaf sdafsdf
      sdfdsdf sdfsdf
    </VirtualHost>

    <
    VirtualHost 127.0.0.1:80>
      
    ksabfdsaf sdafsdf
      sdfdsdf sdfsdf
    </VirtualHost
    in ein Array umwandeln welches folgende Struktur hat:

    Array[0][0]=<VirtualHost 127.0.0.1:80>
    Array[0][1]=ksabfdsaf sdafsdf
    Array[0][2]=sdfdsdf sdfsdf
    Array[0][3]=</VirtualHost>

    Array[1][0]=<VirtualHost 127.0.0.1:80>
    Array[1][1]=ksabfdsaf sdafsdf
    Array[1][2]=sdfdsdf sdfsdf
    Array[1][3]=</VirtualHost>

    Habe es schon selbst probiert nur leider erkennt der bei mir nur immer 1 Vorkommen.

    PHP-Code:
    $line "<VirtualHost 211.213.123.123:90>inhalte</VirtualHost>";
    $line.= "<VirtualHost1 211.213.123.123:90>inhalte1</VirtualHost>";
    $line.= "<VirtualHost2 211.213.123.123:90>inhalte2</VirtualHost>";
    preg_match_all("/(<VirtualHost.+>)(.*)(<\/VirtualHost>)/"$line$matches,PREG_SET_ORDER);

    print_r($matches); 
    Kann mir jemand ein wenig unter die Arme greifen und mir verraten wie der reguläre Ausdruck korrigiert werden muss?

    Danke schonmal

  • #2
    habs:

    PHP-Code:
    $line "<VirtualHost 211.213.123.123:90>inhalte</VirtualHost>";
    $line.= "<VirtualHost1 211.213.123.123:90>inhalte1</VirtualHost1>";
    $line.= "<VirtualHost2 211.213.123.123:90>inhalte2</VirtualHost2>";
    preg_match_all("/(<.*?>)(.*?)(<\/.*?>)/"$line$matches);

    for (
    $i=0$i<=count($matches[1])-1$i++){
      echo 
    $matches[1][$i]."\n";
      echo 
    $matches[2][$i]."\n";
      echo 
    $matches[3][$i]."\n";

    Kommentar

    Lädt...
    X