Cómo reemplazar solo la primera ocurrencia de una subcadena en PHP (str_replace para la primera coincidencia)
¡Hola a todos! Escribo en PHP y me encontré con un problema inesperado. Tengo una cadena en la que necesito reemplazar solo la primera ocurrencia de una subcadena específica, dejando las demás intactas.
Aquí hay un ejemplo. Supongamos que tengo código HTML o simplemente texto:
```php
$text = "Яблоко, банан, яблоко, апельсин, яблоко";
$search = "яблоко";
$replace = "груша";
```
Quiero que el resultado sea: "Яблоко, банан, груша, апельсин, яблоко" — es decir, reemplazar solo la segunda ocurrencia (la primera que coincide sin importar mayúsculas/minúsculas, pero eso no es importante). O, si quiero reemplazar exactamente la primera ocurrencia, que quede "груша, банан, яблоко, апельсин, яблоко".
El problema es que la función estándar `str_replace()` reemplaza TODAS las ocurrencias. Probé `str_replace($search, $replace, $text)`, pero reemplaza cada "яблоко" por "груша", y yo necesito solo una. Sé que existe `preg_replace()`, pero ¿quizás hay una solución más simple sin expresiones regulares? ¿O cómo usar correctamente `preg_replace()` con límite?
No answers yet.
Inicia sesión para dejar una respuesta
Blogs