如何过滤文件中的输入? (PHP)

时间:2012-02-19 08:04:54

标签: php function input filter

首先,我是PHP世界的新手..所以如果我在这里找到了我需要的东西,我将不胜感激。非常感谢提前。

我有一个包含多行的输入文件,每行都有一些人名和他们居住的地方(名称和位置由tap分隔(可能在下面没有完整显示))。就像这个例子:

  • JhonWilliam NewYork
  • KhanFayre Bangalore
  • LuiseRamsy NewYork

所以我想写一个PHP函数来逐行读取该文件,打印(输出到另一个文件)居住在NewYork的人

我写了这个函数来逐行读取文件

function process_file($input)

{

  $handle = @fopen("input.txt", "r");

  if ($handle) {

     while (($buffer = fgets($handle, 4096)) !== false) {

         echo process_line(trim($buffer));

     }

     fclose($handle);

  }

}


process_file("input.txt");


?>

我的问题是.. 如何编写一个函数来过滤输入文件中的文本?因为我只想打印住在NewYork的人

2 个答案:

答案 0 :(得分:0)

您可以使用strpos来确定字符串是否包含其他字符串。

function process_line($str, $findme) {
    if (strpos($str, $findme) !== false) {
        return $str;
    }
}

echo process_line(trim($buffer), 'NewYork');

答案 1 :(得分:0)

      $handle = @fopen("input.txt", "r");

      if ($handle) {

         while (($buffer = fgets($handle, 4096)) !== false) {

           $n = explode('\t',$buffer)   // $n[0] = name, $n[1] = city
           if ( $n[1] == "NewYork" ) {
             echo $n[0] . "\n";
           }
         }

         fclose($handle);

      }