2012-02-20 79 views
1

我有一個PHP腳本,它讀取文件的內容並將其存儲到變量中。我想分割由新行條目存儲的文本,然後搜索數組[0]值以獲取特定值。PHP - 搜索文件的內容

這是我的想法。這是我的情況。

我有一個具有特定條目的目錄文件。

Entry1_two_term3_stuff 
Entry2_two_term3_stuff 
Entry3_two_term3_stuff 

這將被存儲到一個變量中。我如何搜索Entry2然後讓整個線路工作?

+0

你有什麼試過?如果你更具體,你通常會在SO上得到最好的答案。 – liquorvicar 2012-02-20 12:08:48

回答

1

如果可以的話,使用文件()函數將文件加載到陣列,已經被換行分割:

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

如果沒有,你可以使用

$lines = explode("\n", $contents); 

您可能要使用\ r \ n如果您在Windows上並且文件包含CR字符。

要搜索的陣列,使用的foreach:

foreach ($lines as $ix => $line) 
    if (strpos ($line, 'string') !== false) 
     $lines[$ix] = ...new version of line... 

最後,寫的內容回一些文件:

$fp = fopen('file.txt', 'w+'); 
foreach ($lines as $line) 
    fputs($fp, $line); 
fclose($fp); 
+0

Windows使用'\ r \ n',而不是'\ n \ r'。 – ComFreek 2012-02-20 12:10:27

+0

我需要編輯這一行。當我這樣做時,'$ lines'不會更新。幫幫我? – Confiqure 2012-02-20 12:31:25

+0

我更新了答案。 – 2012-02-20 15:33:22

0

您可以用RecursiveDirectoryIterator搜索目錄和搜索文件的內容個別與preg_match_all