2012-02-20 73 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