0

我希望能够读取纯文本文件并匹配多行,而无需多次迭代文本文件。我正在传入一个包含我想要匹配的字符串列表的数组,理想情况下,我想将其放入一个数组中。

我可以使用下面的代码实现预期的结果,但它需要多次读取文本文件。

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);

任何帮助将非常感激。

谢谢大家!

4

2 回答 2

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
      }
   }
}
于 2012-10-02T07:54:23.823 回答
0
$val = array();
foreach ($contents as $file) {
   foreach ($line as $l) {
      if (stristr($file, $l) {
         $val[] = $file;
      }
   }
}

即使你想坚持使用preg_match,“*”也是不必要的。

于 2012-10-02T07:46:16.800 回答