I want to replace certain strings with another one in a text file (ex: \nH
with ,H
). Is there any way to that using PHP?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You could read the entire file in with file_get_contents(), perform a str_replace(), and output it back with file_put_contents().
Sample code:
<?php
$path_to_file = 'path/to/the/file';
$file_contents = file_get_contents($path_to_file);
$file_contents = str_replace("\nH",",H",$file_contents);
file_put_contents($path_to_file,$file_contents);
?>
回答2:
There are several functions to read and write a file.
You can read the file’s content with file_get_contents
, perform the replace with str_replace
and put the modified data back with file_put_contents
:
file_put_contents($file, str_replace("\nH", "H", file_get_contents($file)));
回答3:
If you're on a Unix machine, you could also use sed via php's program execution functions.
Thus, you do not have to pipe all of the file's content through php and can use regular expressions. Could be faster.
If you're not into reading manpages, you can find an overview on Wikipedia.
回答4:
file_get_contents()
then str_replace()
and put back the modified string with file_put_contents()
(pretty much what Josh said)