xaker1
Новичок
Парсинг конфига
Здравствуйте уважаемые php программисты. Возникла необходимость в парсинге конфига.
Сейчас удалось вывести конфиг в массив, в итоге получился массив типа:
Меня интересуют блоки
в частности параметры Start и Stop в блоке, где Type = www. Подскажите, как можно выловить эти параметры, с условием что таких блоков (type www) в конфиге всего один.
Если не сложно, дайте код. Думаю, что здесь без регулярок не обойтись, а я с ними не очень дружу.
Здравствуйте уважаемые php программисты. Возникла необходимость в парсинге конфига.
Сейчас удалось вывести конфиг в массив, в итоге получился массив типа:
PHP:
Array
(
[0] => Option NoMysqlQuota
Option Agree
....
Preset "Example package"
[1] =>
Owner root
....
MySQLConn 0
[2] =>
path httpd /usr/sbin/apache2
[3] => "HTTP"
[4] =>
Process apache2
Start /etc/init.d/apache2 start
Stop /etc/init.d/apache2 stop
ConfName apache2
Type www
Monitored NO
[5] =>
[6] => "SMTP"
[7] =>
Process exim4
Start /etc/init.d/exim4 start
Stop /etc/init.d/exim4 stop
ConfName exim4
Type smtp
Monitored NO
[8] =>
[9] => "POP3"
[10] =>
Process dovecot
Start /etc/init.d/dovecot start
Stop /etc/init.d/dovecot stop
ConfName dovecot
Type pop3
Monitored NO
[11] =>
[12] => "FTP"
[13] =>
Process proftpd
Start /etc/init.d/proftpd start
Stop /etc/init.d/proftpd stop
ConfName proftpd
Type ftp
Monitored NO
[14] =>
[15] => "DNS"
[16] =>
Process named
Start /etc/init.d/bind9 start
Stop /etc/init.d/bind9 stop
ConfName bind9
Type dns
Monitored NO
[17] =>
[18] => "MySQL"
[19] =>
Process mysqld
Start /etc/init.d/mysql start
Stop /etc/init.d/mysql stop
ConfName mysql
Type mysql
Monitored NO
Ip /var/run/mysqld/mysqld.sock
[20] =>
ApacheUid 33
ApacheGid 33
PHP:
Process apache2
Start /etc/init.d/apache2 start
Stop /etc/init.d/apache2 stop
ConfName apache2
Type www
Monitored NO
Если не сложно, дайте код. Думаю, что здесь без регулярок не обойтись, а я с ними не очень дружу.