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