解析php中的文本文件并检索信息
问题描述:
我想解析PHP中的基本文本文件,但不知道从哪里开始。解析php中的文本文件并检索信息
该文件中包含的信息,如:
你会发现,我需要捕获的信息由新线分开。现在我只是将每一行都投入到$ applicant []数组中,但我需要在每行中删除前面的文本。
我想我可能需要使用正则表达式或其他东西来挑选出我需要的数据。想法?
谢谢!
答
不使用正则表达式,你可以这样做:
$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
...
)
答
您可以使用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
}
}
我认为这是最好使用正则表达式,因为该文件中包含大量的外来除了我发布的信息外,其他信息格式都不一样。 – 2010-11-09 00:15:04
如果您只想捕获冒号后面的文本,则不需要正则表达式。如果事情更复杂,你能否澄清你的问题? – 2010-11-09 01:17:25