用PHP在两个文本字符串之间编写文本


Write text between two text strings in PHP

假设我在一个文件(externalfile.txt)中有这个数据

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

我想在#/2##end#之间写文本,如何做到这一点?

不确定这是否是正确的方式,但您可以查看

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

无论如何,它是有效的。

此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;