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