2017-08-10 2 views
0

Ich habe 2 Dateien.Erstellen Sie eine Datei mit Hilfe der Referenzdatei in PHP

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

name: bar 
dob: 15-Aug-2017 

Datei generieren target.txt wie:

 
name: foo 
dob: 11-Aug-2017 

Suchen Sie Strings von source.txt wie name: NAME und passen Sie sie in reference.txt Datei an und ersetzen Sie sie.

Suche

name: foo 
dob: 

Ersetzen mit

name: foo 
dob: 11-Aug-2017 

ich unten Code versucht haben, die name: foo die Zielzeichenfolge durchsucht. Aber, konnte die erwartete Ausgabe nicht generieren.

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

Antwort

0

By the way i did not bekommen, was Sie genau wollen aber dieses Beispiel Ihnen helfen werden, eine Zeichenfolge in einer Datei suchen:

<?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

Eigentlich möchte ich mehrere Zeilen von 1 Datei ersetzen, in Ein weiterer. – maheshwaghmare

+0

ah so können Sie str_replace() verwenden und ich denke, es ist die Lösung jut probier es –