0
我想解析PHP中的基本文本文件,但不知道從哪裏開始。解析php中的文本文件並檢索信息
該文件中包含的信息,如:
你會發現,我需要捕獲的信息由新線分開。現在我只是將每一行都投入到$ applicant []數組中,但我需要在每行中刪除前面的文本。
我想我可能需要使用正則表達式或其他東西來挑選出我需要的數據。想法?
謝謝!
我想解析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