解析php中的文本文件并检索信息

时间:2010-11-08 19:27:53

标签: php regex text-files

我正在尝试用PHP解析基本文本文件,但不知道从哪里开始。

该文件包含以下信息:

http://pastebin.com/ahqtJzH6

您会注意到我需要捕获的信息被新行分割。现在我只是将每一个新行都放入$ applicant []数组中,但我需要删除每一行中的前一个文本。

我在想我可能需要使用正则表达式或其他东西来挑出我需要的数据。想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

不使用正则表达式,您可以这样做:

$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
  ...
)

答案 1 :(得分:0)

您可以使用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

   }
}