Заменить только первое совпадение с помощью preg replace [дубликат]
На этот вопрос уже есть ответ здесь:
У меня есть строка со структурой, подобной: 'aba aaa cba sbd dga gad aaa cbz'. Строка может быть немного другой каждый раз, так как она из внешнего источника.
'aaa', но не остальные. Возможно ли это?3 ответа:
Необязательный четвертый параметр preg_replace равен
limit:preg_replace($search, $replace, $subject, 1);
Для этого можно использовать аргумент
limitpreg_replaceи установить его в1таким образом, чтобы произошло не более одной замены:$new = preg_replace('/aaa/','replacement',$input,1);
Например, out $content-это:
START FIRST AAA SECOND AAA1) Если вы используете:
$content = preg_replace('/START(.*)AAA/', 'REPLACED_STRING', $content);Это изменит все от начала до последнего ААА, и ваш результат будет:
REPLACED_STRING2) Если вы используете:
$content = preg_replace('/START(.*?)AAA/', 'REPLACED_STRING', $content);Ваш результат будет таким:
REPLACED_STRING SECOND AAA