假设一个文本文件包含
大家好,我的名字是爱丽丝,我留在加拿大。
我如何使用php查找“Alice”并将其替换为“John”。
$filename = "C:\intro.txt";
$fp = fopen($filename, 'w');
//fwrite($fp, $string);
fclose($fp);
答案 0 :(得分:10)
$contents = file_get_contents($filename);
$new_contents = str_replace('Alice', 'John', $contents);
file_put_contents($filename, $new_contents);
答案 1 :(得分:1)
使用fread()将文件读入内存。使用str_replace()并将其写回。
答案 2 :(得分:0)
如果它是一个大文件,请使用迭代而不是全部读入内存
$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);
}