INI dosyasında satır Yorumları oku

1 Cevap php

1 Cevap

Sen [heading] işaretlerini sonra yorumlarınızı ayıklamak için preg_match_all kullanabilirsiniz:

$txt = file_get_contents("foo.ini");
preg_match_all('/\[([^\]]*)\][[:space:]]*;(.*)/',
    $txt, $matches, PREG_SET_ORDER);

$html = '';

foreach ($matches as $val) {
    $key = trim($val[1]); /* trimming to handle edge case
                             "[ email ]" so $key can be looked up
                              in the parsed .ini */
    $comment = $val[2];

    $html .= "<h1>$key</h1>\n";
    $html .= "<p>$comment</p>\n";
}

echo $html;

foo.ini içerebilir:

[email]
; Verify that the email's domain has a mail exchange (MX) record.
validate_domain = true ; comment ignored

[s2] ; comment can go here too
foo_bar = true

[s3]
foo_bar = true ; comment also ignored

PHP 5.3 ile başka bir işletim sistemi yeniden başlatmadan gibi hissetmiyorum çünkü ben parse_ini_file ile oynamak değil, ama HTML kalanını oluşturmak kolay olması gerektiğini düşünüyorum.