preg_replace, как заменить только одно вхождение?

HeavyWave

Новичок
preg_replace, как заменить только одно вхождение?

Как с помощью функции заменить только одно вхождение? Limit задаёт с первого по limit, а мне допустим надо с n по i . Это как-нибудь можно сделать?

Версия PHP: 4.5.x
 

Фанат

oncle terrible
Команда форума
я думаю, синтаксисом preg_replace - врядли.
выбери все совпадения через preg_match и заменяё как тебе хочется.

Хотя я даже вообразить не могу, для чего такое может понадобиться.
 

HeavyWave

Новичок
Выбрал. И как их заменять в исходной строке?

Понадобится может, если надо заменять строки в соответствии с содержанием. Например, font-size: 5px; на font-size: +3 и т.д.
 

Фанат

oncle terrible
Команда форума
я могу понять, что надо заменить строку на строку font-size: +3.
Но я не понимаю, почему из 5 строк font-size: 5px надо заменить только третью.
 

HeavyWave

Новичок
смотри
ищется по выражению font-size: ((.|\n)*)?;
И заменяется поочередно, первое вхождение на +1 второе на +2 и т.д.
 
Сверху