【问题标题】:PHP - Search File for ContentsPHP - 搜索文件的内容
【发布时间】:2012-03-10 18:36:15
【问题描述】:

我有一个 PHP 脚本,它读取文件的内容并将其存储到变量中。我想拆分由新行条目存储的文本,然后在 array[0] 值中搜索特定值。

这是我的想法。这是我的情况。

我有一个包含特定条目的目录文件。

Entry1_two_term3_stuff
Entry2_two_term3_stuff
Entry3_two_term3_stuff

这将被存储到一个变量中。如何在此搜索 Entry2,然后使用整行?

【问题讨论】:

  • 你试过什么?如果您更具体一些,通常会得到关于 SO 的最佳答案。

标签: php arrays variables


【解决方案1】:

如果可以,请使用 file() 函数将文件加载到数组中,该数组已被换行符分割:

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

如果没有,你可以使用

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

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

要搜索数组,请使用 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);

【讨论】:

  • Windows 使用\r\n,而不是\n\r
  • 我需要编辑这一行。当我这样做时,$lines 不会更新。帮忙?
【解决方案2】:

您可以使用RecursiveDirectoryIterator搜索目录,并使用preg_match_all单独搜索文件内容

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 2014-12-14
    • 2012-12-01
    • 2017-12-31
    相关资源
    最近更新 更多