在PHP中的两个文本字符串之间写入文本

时间:2012-08-26 09:03:11

标签: php string

假设我将这些数据放在一个文件(externalfile.txt)

#1#First#/1#
#2#Something#/2#

#end#

我想在#/2##end#之间写文字,怎么做?

2 个答案:

答案 0 :(得分:3)

不确定这是否正确,但你可以看看

$newval='new text';
$file_contents = file_get_contents('externalfile.txt');
file_put_contents('externalfile.txt', preg_replace("/#\/2#/", "#/2#\n$newval\n", $file_contents));

无论如何它都有效。

答案 1 :(得分:1)

此PHP代码在#end#字符串的最后一次出现之前插入一个新文本:

$str = file_get_contents('file.txt');
$splitted = explode('#end#',$str);
$pos = count($splitted)-2;
$splitted[$pos] .= 'new text';
$str = implode('#end#',$splitted);
echo $str;