使用PHP删除文本文件中的某些字符串

时间:2011-03-28 02:38:56

标签: php

<?php

    //reference text
    foreach (glob("file1.txt") as $filename1) {         
    $file1 = $filename1;
    $line1 = rtrim($file1, "\n");
    $contents1 = file($line1, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 
    $string1 = implode($contents1); // file_put_contents('google.txt',implode('',$contents1));   
    $array1 = str_split ($string1 );
    $temp = $array1;        
    }

    //fetch from website
    $url ="https://www.example.com/";
    $str = file_get_contents($url);

    $myFile = "file2.txt";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $stringData = $str;
    fwrite($fh,$stringData);
    fclose($fh);

    foreach (glob("fetch_hLeong.txt") as $filename) {   
    $file = $filename;
    $line = rtrim($file, "\n");
    $contents = file($line,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $string = implode($contents);
    $array = str_split($string);
    $temp1 = $array;

}

//比较 $ result = array_diff_assoc($ temp,$ temp1); if(!count($ result)) echo“
文件=&gt; MATCH”; 其他 echo“
文件=&gt; NOT MATCH”;

&GT;

所以我有这种类型的代码,我将比较那些file1.txt和file2.txt。 在这里,我将文本文件中的每个字符放入一个数组中,然后逐个字符地进行比较。 所以我的问题是,在比较代码时显示NOT MATCH,实际上它是匹配的。 www.example.com有新闻提要,每秒都会更改,因为我的文件显示不匹配。

我想删除某些字符串,它是file1.txt中的新闻源,因此它不会影响该过程。任何人 ??谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

  1. 使用file_get_contents
  2. 而不是使用file + implode
  3. 您不能在这里使用array_diff,因为它会比较数组的内容,而不是您需要的特定顺序
  4. 请查看PEAR's Text_Diff以创建文字差异。