str_replace - reemplazar espacios por guiones php
Reemplazar solo la primera coincidencia usando preg_replace (3)
El cuarto parámetro opcional de preg_replace es el limit
:
preg_replace($search, $replace, $subject, 1);
Esta pregunta ya tiene una respuesta aquí:
Tengo una cadena con una estructura similar a: ''aba aaa cba sbd dga gad aaa cbz''
. La cadena puede ser un poco diferente cada vez, ya que proviene de una fuente externa.
Me gustaría reemplazar solo la primera aparición de ''aaa''
pero no las otras. ¿Es posible?
Puede usar el argumento de limit
de preg_replace
para esto y configurarlo en 1
para que ocurra como máximo un reemplazo:
$new = preg_replace(''/aaa/'',''replacement'',$input,1);
por ejemplo, $ contenido es:
START
FIRST AAA
SECOND AAA
1) si usa:
$content = preg_replace(''/START(.*)AAA/'', ''REPLACED_STRING'', $content);
cambiará todo, desde el inicio hasta el último AAA y su resultado será:
REPLACED_STRING
2) si usa:
$content = preg_replace(''/START(.*?)AAA/'', ''REPLACED_STRING'', $content);
Su resultado será como:
REPLACED_STRING
SECOND AAA