0

重複の可能性:
preg_replace を使用して複数行にわたるテキストを置換する方法

ファイルからいくつかのテキストを読み込もうとしていますが、いくつかのパターンを置き換えようとしています。単一の文字列からパターンを置き換えようとすると機能しますが、ファイルにそのような文字列が複数ある場合は機能しません。

$this->session->set_flashdata('error_message', 'Naslovna vrstica je bila uspešno shranjena');

これは、置換を置き換えようとしているテキストの例です。この行だけで問題なく機能しますが、ファイル内に他のそのような行があり、すべてが個別に一致する場合はそうではありません。

$content = file_get_contents("C:\Users\Borut\\test.txt");
$pattern="/^.*session->set_flashdata\((.*),(.*)\);$/";
$replacement="\$_SESSION[$1]=$2";

これは私のコードです。上記のように複数の文字列をどのように置き換えますか。

4

1 に答える 1

1

必要な修飾子はm. ここですべての修飾子を見つけることができます とはいえ、最も簡単で優れた正規表現ソリューションは

"/\$this->session->set_flashdata\((.*?),\s*(.*?)\);/"

? があることに注意してください。それぞれの .* の後。これは、あなたのような貪欲なマッチングを止めるためです。^また、 and を削除しても、修飾子は必要ないことに注意してください。$

于 2013-02-03T21:44:46.430 に答える