tags:

views:

54

answers:

3

Hello,

Let say a text file contain

Hello everyone, My name is Alice, i stay in Canada.

How do i use php to find "Alice" and replace it with "John".

    $filename = "C:\intro.txt";
 $fp = fopen($filename, 'w');
 //fwrite($fp, $string);
 fclose($fp);
+1  A: 

Read the file into memory using fread(). Use str_replace() and write it back.

Yacoby
+4  A: 
$contents = file_get_contents($filename);
$new_contents = str_replace('Alice', 'John', $contents);
file_put_contents($filename, $new_contents);
kemp
A: 

If its a big file, use iteration instead of reading all into memory

$f = fopen("file","r");
if($f){
    while( !feof($f) ){
        $line = fgets($f,4096);
        if ( (stripos($line,"Alice")!==FALSE) ){
            $line=preg_replace("/Alice/","John",$line);
        }
        print $line;
    }
    fclose($f);
}