このデータがファイル(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));
とにかく、それは動作します。
#end#
この PHP コードは、文字列が最後に出現する直前に新しいテキストを挿入します。
$str = file_get_contents('file.txt');
$splitted = explode('#end#',$str);
$pos = count($splitted)-2;
$splitted[$pos] .= 'new text';
$str = implode('#end#',$splitted);
echo $str;