2010-10-29 6 views
-1

Пожалуйста, помогите мне, моя проблема:синтаксического анализа файла в массив в PHP

в один файл .txt я есть

rpgoCPpref = { 
["enabled"] = true, 
["button"] = true, 
["debug"] = false, 
["questsfull"] = false, 
["tooltipshtml"] = true, 
["tooltip"] = true, 
["verbose"] = false, 
["scan"] = { 
    ["inventory"] = true, 
    ["talents"] = true, 
    ["glyphs"] = true, 
    ["honor"] = true, 
    ["reputation"] = true, 
    ["spells"] = true, 
    ["pet"] = true, 
    ["equipment"] = true, 
    ["currency"] = true, 
    ["companions"] = true, 
    ["professions"] = true, 
    ["mail"] = true, 
    ["skills"] = true, 
    ["quests"] = true, 
    ["bank"] = true, 
}, 
["ver"] = 30000, 
["fixicon"] = true, 
["talentsfull"] = true, 
["fixtooltip"] = true, 
["fixcolor"] = true, 
["lite"] = true, 
["reagentfull"] = true, 
["fixquantity"] = true, 
} 

, который является формой обращенного или разбора в массив в PHP? для вас поможет thx

ответ

0

вам нужно будет прочитать каждую строку и интерпретировать и построить массив вручную!

0

Как он хранился так? Похоже, вы отправили вывод вызова print_r в файл. Если возможно, вы должны использовать команду сериализации для хранения массива в файл: http://php.net/manual/en/function.serialize.php, а затем вы можете позже unserialze содержания: http://www.php.net/manual/en/function.unserialize.php

Подробнее: http://www.php.net/manual/en/language.oop5.serialization.php

0

Предполагая, что вы не никогда позволить другим людям, чтобы ввести новый код в этот файл, вы можете сделать следующее, чтобы превратить его в обычный массив PHP и передать его корыто eval:

$str = file_get_contents($your_file); 

$str = preg_replace('/(["\w]+) = {/', '$\1 = array(', $str); 
$str = preg_replace('/\[(["\w]+)\] = {/', '\1 => array(', $str); 
$str = preg_replace('/\[(["\w]+)\] = (.+),/', '\1 => \2,', $str); 
$str = preg_replace('/}/', ')', $str); 

eval($str); 

var_dump($rpgoCPpref); 

это очень хорошая идея для вас, чтобы лом это и записать массив обратно в форме serialized.

Смежные вопросы