| Autor | Zpráva | ||
|---|---|---|---|
| Linux Profil * |
#1 · Zasláno: 18. 2. 2011, 11:09:55
Hledal jsem nějakou funkci, která by převedla INI do PHP Array, nenašel jsem nic, co by mi vyhovovalo, tak jsem fci udělal, takže kdo potřebuje:
function INItoArray( $in )
{
$out = array();
$in = explode("\n",$in);
$last = "";
if(count($in)<2) return false;
foreach( $in as $key => $line )
{
unset($match);
// #coment
if( preg_match("/(#[[:print:]]+)/",$line,$match) )
{
$line = str_replace($match[1],"",$line);
}
// [neco]
if( preg_match("/\[([a-zA-Z0-9]+)\]/",$line,$match) )
{
$out[trim($match[1])] = array();
$last = trim($match[1]);
}
if( preg_match("/([a-zA-Z0-9]+)[[:blank:]]*=[[:blank:]]*([[:alnum:][:print:]]+)/",$line,$match) )
{
if(count($out)==0)
{
$out["undefined"][trim($match[1])] = trim($match[2]);
} else {
$out[$last][trim($match[1])] = trim($match[2]);
}
}
}
return $out;
} |
||
| Chro Profil |
#2 · Zasláno: 18. 2. 2011, 11:26:08
Co tyto funkce, nevyhovují?
parse_ini_string(); parse_ini_file(); |
||
| Linux Profil * |
#3 · Zasláno: 18. 2. 2011, 11:36:22
Když jsem načítal nějaké herní INI, komentářovej prefix byl #, tak mi to dělalo nějakou neplechu, ale je možný že to bylo verzí, nicméně není to naškodu.
|
||
| DoubleThink Profil * |
#4 · Zasláno: 18. 2. 2011, 13:40:32
Mřížkový komentář v INI nemá co dělat.
|
||
|
Časová prodleva: 15 let
|
|||
0