парсинг текстового файла в php и получение информации - PullRequest
0 голосов
/ 08 ноября 2010

Я пытаюсь разобрать основной текстовый файл в PHP, но не знаю, с чего начать.

Файл содержит информацию, такую ​​как:

http://pastebin.com/ahqtJzH6

Вы заметите, что информация, которую мне нужно захватить, разделена новыми строками. Прямо сейчас я просто добавляю каждую новую строку в массив $ Applicant [], но мне нужно избавиться от предыдущего текста в каждой строке.

Я подумал, что мне, вероятно, нужно использовать регулярные выражения или что-то, чтобы выделить только те данные, которые мне нужны. Идеи?

Спасибо!

Ответы [ 2 ]

1 голос
/ 08 ноября 2010

Без использования регулярных выражений вы можете сделать это:

$fp = fopen('textfile.txt', 'r');

$return = array();
while ($line = fgets($fp)) {
   $parts = explode(':', $line);
   $key = trim($parts[0]);
   unset($parts[0]);
   $value = str_replace("\n", '', implode(':', $parts));
   $return[$key] = trim($value);
}

print_r($return);

Будет выводить что-то вроде:

Array (
  [Applicant SSN]  => 123456789
  [Applicant Name] => BOB, BOB
  ...
)
0 голосов
/ 08 ноября 2010

Вы можете использовать strpos, чтобы найти символ:, а затем захватить все после этого. Вы можете использовать trim, чтобы избавиться от лишних пробелов.

$lines = file('textfile.txt');

foreach ($lines as $line) {
   $p = strpos($line, ':');
   if ($p!==false) {
      $key = trim(substr($line, 0, $p));
      $value = trim(substr($line, $p+1));

      // do whatever with your key & value

   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...