note 43234 deleted from function.parse-ini-file by danbrown

From: Date: Sun, 23 Jan 2011 17:17:29 +0000
Subject: note 43234 deleted from function.parse-ini-file by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-176180@lists.php.net to get a copy of this message
Note Submitter: forceone at justduck.net ---- A better version of parse_ini_str that takes into account values that are named the same. <?php function parse_ini_str($Str,$ProcessSections = TRUE) { $Section = NULL; $Data = array(); if ($Temp = strtok($Str,"\r\n")) { do { switch ($Temp{0}) { case ';': case '#': break; case '[': if (!$ProcessSections) { break; } $Pos = strpos($Temp,'['); $Section = substr($Temp,$Pos+1,strpos($Temp,']',$Pos)-1); $Data[$Section] = array(); break; default: $Pos = strpos($Temp,'='); if ($Pos === FALSE) { break; } $Value = array(); $Value["NAME"] = trim(substr($Temp,0,$Pos)); $Value["VALUE"] = trim(substr($Temp,$Pos+1),' "'); if ($ProcessSections) { $Data[$Section][] = $Value; } else { $Data[] = $Value; } break; } } while ($Temp = strtok("\r\n")); } return $Data; } ?> Example: [Files] File=File1 File=File2 would return: array ( 'Files' => array ( 0 => array ( 'NAME' => 'File', 'VALUE' => File1', ), 1 => array ( 'NAME' => 'File', 'VALUE' => 'File2', ), ), )

« previous php.notes (#176180) next »