我希望能够通读纯文本文件并匹配多行,而无需多次遍历文本文件。我传入一个数组,其中包含我想要匹配的字符串列表,理想情况下,我想将其放入数组中。
我可以使用下面的代码实现所需的结果,但需要多次读取文本文件。
function readFile($line){
$contents = file("test.txt");
if(preg_match("/$line*/i", $val)){
return($val);
}
}
理想情况下,我想执行以下操作:
// pass an array to the funciton which will parse the file once and match on the elements defined.
$v = readFile(array("test_1", "test_2", "test_2", "test_3"));
// return an array with the matched elements from the search.
print_r($v);
非常感谢任何帮助。
全部谢谢!
答案 0 :(得分:1)
$val = array();
foreach ($contents as $file) {
foreach ($line as $l) {
if (stristr($file, $l)) {
$val[] = $file;
break; // Don't need to check the other $line values
}
}
}
答案 1 :(得分:0)
$val = array();
foreach ($contents as $file) {
foreach ($line as $l) {
if (stristr($file, $l) {
$val[] = $file;
}
}
}
即使你想坚持preg_match
,也不需要“*”。