Autor Zpráva
Linux
Profil *
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
Co tyto funkce, nevyhovují?
parse_ini_string();
parse_ini_file();
Linux
Profil *
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 *
Mřížkový komentář v INI nemá co dělat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0