我有一个文本文件,如下所示:如何用str_replace()替换一个词,仅当它不是另一个词的一部分?
yyy.txt:
line1
line2
line3line4
line5line3
line3
现在我想在下面的代码555
更换line3
。但是,如果line3
不是另一个单词的一部分,我只想替换该行,例如XYline3
或line3XY
。
我试着用这个代码来实现:
$filename="yyy.txt";
$line="line3";
file_put_contents($filename, str_replace($line , "555", file_get_contents($filename)));
输出:
line1 line2 555line4 line5555 555
正如你可以在这里看到它也换成line3line4
和line5line3
即使我不想这样。
那么,如何更改我目前的代码,它只会替换搜索词,如果它不是另一个词的一部分?我有点卡在这里,不知道这是可能的str_replace()
或如果我必须以另一种方式做到这一点。
你需要使用正则表达式或更具体的'search'字符串。 – chris85
你的问题的格式非常分散。请格式化并澄清您的具体问题。 – chris85
请勿多次发布相同或接近相同的问题。 –