2013-05-14 2 views
0

У меня есть текстовый файл, который имеет структуру к нему. Я хотел бы использовать PHP, чтобы взять некоторые значения из ключей в структуре и добавить их в массив. Значение, которое мне нужно, - OBJECT. Любые советы по функции для ее анализа?PHP: проанализировать структурированный txt-файл

Object: 32.5445213,-92.0041885 
Icon: 0,0,000,6,6,"dude 1 (wx)\n2013-05-14 14:05:45 UTC\nSTATIONARY\nEmail: [email protected]\nWeb: www.dude.com\NMSCAS" 
Text: 15, 10, 1, "dude 1" 
End: 
Object: 34.2017555,-90.5699615 
Icon: 0,0,000,6,6,"dude 1 (wx)\n2013-05-14 14:05:45 UTC\nSTATIONARY\nEmail: [email protected]\nWeb: www.dude.com\NMSCAS" 
Text: 15, 10, 1, "dude 1" 
End: 
Object: 42.1689987,-88.2949982 
Icon: 0,0,000,6,6,"dude 1 (wx)\n2013-05-14 14:05:45 UTC\nSTATIONARY\nEmail: [email protected]\nWeb: www.dude.com\NMSCAS" 
Text: 15, 10, 1, "dude 1" 
End: 
Object: 48.1980019,-101.3073273 
Icon: 0,0,000,6,6,"dude 1 (wx)\n2013-05-14 14:05:45 UTC\nSTATIONARY\nEmail: [email protected]\nWeb: www.dude.com\NMSCAS" 
Text: 15, 10, 1, "KC0ISW" 
End: 
Object: 34.1373138,-88.7238998 
Icon: 0,0,000,6,6,"dude 1 (wx)\n2013-05-14 14:05:45 UTC\nSTATIONARY\nEmail: [email protected]\nWeb: www.dude.com\NMSCAS" 
Text: 15, 10, 1, "dude 1" 
End: 
+0

Я прочитал файл, как обычно (= строка за строкой), и если строка начинается со строки «Объект:» Я бы содержание после этой строки и относиться к нему. –

ответ

2

Сделайте это почти так, как если бы вы проанализировали C: с fscanf. Это самый простой и безопасный

$file = fopen("filename", "r"); 
$data = array(); 
while (fscanf($file, "Object: %s\n", $object)) { 
    $data[] = $object; // explode(",", $object); // or this if you need to explode by the commas 
} 
+0

Это кажется очень прямым, но я не могу заставить его работать. Я открываю файл txt. я делаю fread, затем я вставляю ваш код, а затем fclose, а затем печатаю массив. приведенный ниже код ниже. –

+0

$ data = array(); $ file = fopen ("chasers.txt", "r"); $ contents = fread ($ file, filesize ("chasers.txt")); while (fscanf ($ contents, "Object:% s", $ object)) { $ data [] = $ object; } fclose ($ file); print_r ($ data); –

+0

Nvm, я понял. Благодаря! –