2017-08-10 64 views
0

我有2個文件。用PHP中的參考文件建立一個文件

  1. source.txt
  • reference.txt
  •  
    name: foo 
    dob: 11-Aug-2017 
    
    name: bar 
    dob: 15-Aug-2017 
    

    生成文件target.txt像:

     
    name: foo 
    dob: 11-Aug-2017 
    

    source.txt的搜索字符串,如name: NAME,並匹配它在reference.txt文件並將其替換。

    搜索

    name: foo 
    dob: 
    

    替換

    name: foo 
    dob: 11-Aug-2017 
    

    我曾嘗試下面的代碼,其搜索目標字符串name: foo。但是,無法產生預期的輸出。

     
    $url = 'reference.txt'; 
    
    if(is_file($url)) { 
    
        $handle = fopen($url, "r"); 
    
        if ($handle) { 
         while (($line = fgets($handle)) !== false) { 
    
          if(substr($line, 0, strlen('name: foo')) === 'name: foo') { 
           // Found record 'name: foo' 
          } 
         } 
    
         fclose($handle); 
        } 
    } 
    

    回答

    0

    順便說一句,我沒有得到你想要什麼,但 這個例子,可以幫助你在一個文件中搜索字符串:

    <?php 
        $searchthis = "mystring"; 
        $matches = array(); 
    
        $handle = @fopen("path/to/inputfile.txt", "r"); 
        if ($handle) 
        { 
         while (!feof($handle)) 
         { 
          $buffer = fgets($handle); 
          if(strpos($buffer, $searchthis) !== FALSE) 
           $matches[] = $buffer; 
         } 
         fclose($handle); 
        } 
    
        //show results: 
        print_r($matches); 
        ?> 
    
    +0

    其實我想從1個文件替換多行成另一個。 – maheshwaghmare

    +0

    啊所以你可以使用str_replace(),我想這是解決方案突然嘗試它 –