Hallo,
wie kann ich mit preg_match_all eine configdatei die so aussieht:
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.
Kann mir jemand ein wenig unter die Arme greifen und mir verraten wie der reguläre Ausdruck korrigiert werden muss?
Danke schonmal
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>
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);
Danke schonmal
Kommentar