在PHP中搜索文件以获取字符串并返回下一行

时间:2013-06-12 20:24:18

标签: php file

我正在阅读php的文件:

$lines = file("input.txt");

我需要在$lines中搜索字符串--><--,然后返回下一个完整的行。这样做的最佳方式是什么?

感谢。

2 个答案:

答案 0 :(得分:1)

你应该循环遍历数组$lines并将密钥递增1以获得下一行。

$lines = file("input.txt");

$return = array();
foreach($lines as $key => $line) {
    if(false !== strpos($line,'--><--')) {
        // check if there is another line in the file
        if(isset($lines[($key+1)])) {
            // add the line to array
            $return[] = $lines[($key+1)];
        }
    }
}
print_r($return);

答案 1 :(得分:0)

我不确定您是否匹配Windows或Unix文件(因此\r?),但您可以更加干净地使用正则表达式。您可以像这样捕获它:

$lines = file("input.txt");
preg_match('!(--><--\r?\n)([^\r\n]+)\r?\n!s',$lines,$matches);
$myLine = $matches[2];
echo $myLine;