Найти и редактировать текстовые файлы через PHP - PullRequest
1 голос
/ 28 ноября 2009

Допустим, текстовый файл содержит

Привет всем, меня зовут Алиса, я остаюсь в Канаде.

Как мне использовать php, чтобы найти «Алису» и заменить ее на «Джон».

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

Ответы [ 3 ]

10 голосов
/ 28 ноября 2009
$contents = file_get_contents($filename);
$new_contents = str_replace('Alice', 'John', $contents);
file_put_contents($filename, $new_contents);
1 голос
/ 28 ноября 2009

Считайте файл в память, используя fread () . Используйте str_replace () и запишите его обратно.

0 голосов
/ 28 ноября 2009

Если это большой файл, используйте итерацию вместо чтения всех в память

$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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...