<accounts>
user=15@220 bindlan=none auto_bindmac=yes cn=包
user=16@613 auto_bindmac=yes bindlan=none cn=包
user=15@116 bindlan=none cn=- desc=- maxlogin=1再不用explode的情况下,把上面的格式解析成数组,如 $a[accounts][user]='15@220'这种格式explode是下下策,众多PHP函数,有一个能解析此类格式文件吗?类似于parse_ini_file这种函数
<accounts>
user=15@220 bindlan=none auto_bindmac=yes cn=包
user=16@613 auto_bindmac=yes bindlan=none cn=包
user=15@116 bindlan=none cn=- desc=- maxlogin=1
TXT;$s = str_replace(' ', "\n", $s);
$s = str_replace('<', "[", $s);
$s = str_replace('>', "]", $s);$p = parse_ini_string($s, 1);
print_r($p);Array
(
[accounts] => Array
(
[user] => 15@116
[bindlan] =>
[auto_bindmac] => 1
[cn] => -
[desc] => -
[maxlogin] => 1
))
<accounts>
user=15@220 bindlan=none auto_bindmac=yes cn=包
user=16@613 auto_bindmac=yes bindlan=none cn=包
user=15@116 bindlan=none cn=- desc=- maxlogin=1
TXT;preg_match_all("/[\S]+=[^\s]*/",$s,$c);
print_r($c);
Array
(
[0] => Array
(
[0] => user=15@220
[1] => bindlan=none
[2] => auto_bindmac=yes
[3] => cn=包
[4] => user=16@613
[5] => auto_bindmac=yes
[6] => bindlan=none
[7] => cn=包
[8] => user=15@116
[9] => bindlan=none
[10] => cn=-
[11] => desc=-
[12] => maxlogin=1
))
郑州PHP.Net
http://www.zzphp.net/