Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

parse_ini_string

Dateisystem-Funktionen

    Befehl:
array parse_ini_string ( string $ini [, bool $process_sections = false [, int $scanner_mode = INI_SCANNER_NORMAL ]] )


    Parameter-Liste:
NameBeschreibung
iniDer Inhalt der INI-Datei, die analysiert wird.
process_sectionsDurch die Einstellung der process_sections-Parameter auf TRUE, eine ultidimensional Array, mit dem Abschnitt erhalten Sie Namen und Einstellungen. Der Standardwert für process_sections ist FALSE
scanner_modeKann entweder INI_SCANNER_NORMAL (Standard) oder INI_SCANNER_RAW. Wenn INI_SCANNER_RAW angegeben wird, dann werden Optionswerte nicht analysiert werden.

    Rückgabewerte:
Die Einstellungen werden als assoziatives Array bei Erfolg zurück, und im Fehlerfall FALSE.

    Beschreibung:
parse_ini_string() gibt die Einstellungen in INI-String in einem assoziativen Array.

Die Struktur der INI-String ist der gleiche wie der php.ini 's.


    Aktiv in Version:
(PHP 5 >= 5.3.0, PHP 7)

    Hinweis:
Hinweis:

Es gibt reservierte Wörter, die nicht als Schlüssel für INI-Dateien verwendet werden müssen. Dazu gehören: null, ja, nein, true, false, an, aus, keine. Werte null, nein und falsche Ergebnisse in "", ja und wahren Ergebnisse in "1". Charaktere ?{}|&~![()^" darf nicht überall in der Schlüssel verwendet werden und haben eine besondere Bedeutung in der Wertschöpfungs!.


    Siehe auch:
Analysiert eine Konfigurationsdatei
 

parse_ini_string() - Beispiel:


Eingabe:
<?php
if(!function_exists('parse_ini_string')){
    function parse_ini_string($str, $ProcessSections=false){
        $lines  = explode("\n", $str);
        $return = Array();
        $inSect = false;
        foreach($lines as $line){
            $line = trim($line);
            if(!$line || $line[0] == "#" || $line[0] == ";")
                continue;
            if($line[0] == "[" && $endIdx = strpos($line, "]")){
                $inSect = substr($line, 1, $endIdx-1);
                continue;
            }
            if(!strpos($line, '=')) // (We don't use "=== false" because value 0 is not valid as well)
                continue;

            $tmp = explode("=", $line, 2);
            if($ProcessSections && $inSect)
                $return[$inSect][trim($tmp[0])] = ltrim($tmp[1]);
            else
                $return[trim($tmp[0])] = ltrim($tmp[1]);
        }
        return $return;
    }
}
?>

Dateisystem-Funktionen