'aba aaa cba sbd dga gad aaa cbz'
に類似した構造の文字列があります。文字列は、外部ソースからのものであるため、毎回少し異なる場合があります。
'aaa'
の最初の出現のみを置換し、その他は置換しません。出来ますか?
preg_replace のオプションの4番目のパラメーターはlimit
です:
preg_replace($search, $replace, $subject, 1);
これにはpreg_replace
のlimit
引数を使用し、1
に設定して、最大1つの置換が行われるようにすることができます。
$new = preg_replace('/aaa/','replacement',$input,1);
たとえば、out $ contentは次のとおりです。
START
FIRST AAA
SECOND AAA
1)使用する場合:
$content = preg_replace('/START(.*)AAA/', 'REPLACED_STRING', $content);
sTARTから最後のAAAまですべてが変更され、結果は次のようになります。
REPLACED_STRING
2)使用する場合:
$content = preg_replace('/START(.*?)AAA/', 'REPLACED_STRING', $content);
結果は次のようになります。
REPLACED_STRING
SECOND AAA