Ответ 1
Необязательный четвертый параметр preg_replace - limit
:
preg_replace($search, $replace, $subject, 1);
У меня есть строка со структурой, похожей на: 'aba aaa cba sbd dga gad aaa cbz'
. Строка может быть немного различной каждый раз, поскольку она связана с внешним источником.
Я хотел бы заменить только первое появление 'aaa'
, но не других. Возможно ли это?
Необязательный четвертый параметр preg_replace - limit
:
preg_replace($search, $replace, $subject, 1);
Вы можете использовать аргумент limit
preg_replace
для этого и установить его на 1
, чтобы произошло не более одной замены:
$new = preg_replace('/aaa/','replacement',$input,1);
например, из $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