0
这是我现在所拥有的。它会过滤来自.txt
文件的一段文本。我的问题是,$filter
必须在行的开始。我需要过滤器能够在任何地方。使用单字过滤一个文本文件与其他文本文件
<?php
$input = file("PATH/TO/file1", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$filter = file("PATH/TO/file2", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$result = array_filter($input, function($line)use($filter){
if(in_array(substr($line, 0, strpos($line, " ")), $filter))
return TRUE;
return FALSE;
});
file_put_contents("PATH/TO/file3", implode(PHP_EOL, $result));
?>
下面是PATH/TO/file2
的示例文件:
info1
info2
下面是PATH/TO/file1
一个例子的文件:
1232131-72-427-Q john info1 johnson -----more data----------more data-----
More dataMore dataMore dataMore dataMore dataMore data
8765438-43-542-T peter dudeson -----more info3 data----- -----more data-----
More dataMore dataMore dataMore dataMore dataMore data
3456 info 6 761-21-742-G frank zena -----more data----------more data-----
More dataMore dataMore dataMore dataMore dataMore data
0924560-23-124-O marin franklin -----more info4 data----------more data-----
More dataMore dataMore dataMore dataMore dataMore data
2345333-21-423-P pin dudeson-----more data----------more info2 data-----
More dataMore dataMore dataMore dataMore dataMore data
5434225-21-983-A chow info5 ching -----more data----------more data-----
More dataMore dataMore dataMore dataMore dataMore data<br>
下面是PATH/TO/file3
一个例子的文件:
1232131-72-427-Q john info1 johnson -----more data----------more data-----
More dataMore dataMore dataMore dataMore dataMore data
2345333-21-423-P pin dudeson-----more data----------more info2 data-----
More dataMore dataMore dataMore dataMore dataMore data
结果必须每行两行,但关键字永远不会在第二行。这甚至有可能吗?
最终结果应该是什么样子? –
file3必须是结果=) – owndbymeg
你想在第一列之后换行吗? –