だから私は、テキストファイルを持っているコンテンツルックス、例えば、folowsとして:LaravelまたはPHP
名:「ジョン、
姓: 'ドウ'、
年齢:35
しかし現在の姓がDoeのある場合、私は何が発生することができ、確かなことはわかりません。
そして私はこの姓をもう1つに置き換える必要があります。だから私は何とかファイルを開いて、私が必要とする場所を見つける必要があります(私はそれがSurname: '
で始まり、',
で終わることを確かに知っています。そして、これら2つの部分文字列の間の文字列を置き換える必要があります。 。これまでのところ、私はこの
$content = file_get_contents('text.txt');
$search = "/[^Surname: '](.*)[^',]/";
$replace = 'Smith';
$content = preg_replace($search,$replace,$content);
file_put_contents('text.txt', $content);
試してみた
をしかし、それはとのほとんどすべてを置き換えます。(手動で\を追加nは、実際のファイルはかなり長いですオプションをされていないように改行とを失います) 'Smith'。',
の組み合わせがこのファイルではかなり一般的であり、ファイル全体を1つの行に変換するため、
私の問題を解決するにはどうすればよいですか?可能性のある助けを非常に感謝します!
UPD:str_replaceが私の必要とするものですが、最初に現在の姓を取得するためにファイルからSurname: 'Doe',
行全体を取得する必要があります。
'[^姓]' '文字Sのurnameのいずれかが含まれていない行にマッチします:「' – apokryfos
をこれにはPHPが適切なツールですか?あなたが* nixでない場合は、sedを使うことができます。また、Webから起動する必要がある場合でも、sedを使ってbashスクリプトを呼び出すことができます。http://brunolinux.com/02-The_Terminal/Find_and%20Replace_with_Sed.html – rypskar