Como substituir apenas a primeira ocorrência de uma substring em PHP? (str_replace para a primeira correspondência)
Olá a todos! Estou escrevendo em PHP e me deparei com um problema inesperado. Tenho uma string na qual preciso substituir apenas a primeira ocorrência de uma determinada substring, deixando todas as outras intactas.
Aqui está um exemplo. Suponha que eu tenha um código HTML ou apenas texto:
```php
$text = "Maçã, banana, maçã, laranja, maçã";
$search = "maçã";
$replace = "pera";
```
Eu quero que o resultado seja: "Maçã, banana, pera, laranja, maçã" — ou seja, substituída apenas a segunda ocorrência (a primeira considerando case, mas isso não importa). Ou, se eu quiser substituir exatamente a primeira ocorrência, para que fique "pera, banana, maçã, laranja, maçã".
O problema é que a função padrão `str_replace()` substitui TODAS as ocorrências. Tentei `str_replace($search, $replace, $text)`, mas ela substitui cada "maçã" por "pera", e eu preciso apenas de uma. Sei que existe `preg_replace()`, mas talvez haja uma solução mais simples sem expressões regulares? Ou como usar `preg_replace()` corretamente com limitador?