Replace only first match using preg_replace [duplicate] Replace only first match using preg_replace [duplicate] php php

Replace only first match using preg_replace [duplicate]


The optional fourth parameter of preg_replace is limit:

preg_replace($search, $replace, $subject, 1);


You can use the limit argument of preg_replace for this and set it to 1 so that at most one replacement happens:

$new = preg_replace('/aaa/','replacement',$input,1);


for example, out $content is:

START FIRST AAA SECOND AAA

1) if you use:

$content = preg_replace('/START(.*)AAA/', 'REPLACED_STRING', $content);

it will change everything from the START to the last AAA and Your result will be:

REPLACED_STRING

2) if you use:

$content = preg_replace('/START(.*?)AAA/', 'REPLACED_STRING', $content);

Your Result will be like:

REPLACED_STRING SECOND AAA