我有一个TEXT文件bla.txt
REGION_NAME =' bla_2'
您好
喜
再见
我的脚本##
<?php
$file = 'bla.txt';
$file_contents = file_get_contents($file);
$fh = fopen($file, "w");
$file_contents = preg_replace("/(REGION_NAME =) ('')/", "$1 'us-east-A'", "REGION_NAME = ''");
fwrite($fh, $file_contents);
fclose($fh);
?>
当我运行它时,它会添加正确的文本,但会覆盖bla.txt文件 所以我放松了其他的话。
注意:###如果我使用str_replace工作正常但是一旦bla_2更改,那么我们就不能再次使用该脚本......
任何想法......?
$file_contents = str_replace('bla_2','bar',$file_contents);
答案 0 :(得分:0)
如果您阅读了代码,则覆盖$file_contents
的初始值,而不是替换$file_contents
中的数据。您需要做的是:$file_contents = preg_replace("/(REGION_NAME =) ('')/", "$1 'us-east-A'", $file_contents);
。作为免责声明,我实际上并没有运行您的代码,但是您从我所看到的内容中并没有传递正确的主题。
而且我认为你想要的正则表达式是preg_replace("REGION_NAME = '(.*)'", 'us-east-A', $file_contents)