PHP: Reemplazar solo 1 vez

themaz

Hola, escribo este post porque tengo la siguiente duda.

Dispongo de una cadena, por ejemplo: 123456,123456,123489,1479,123456

Ahora lo que quiero es una función tipo str_replace, para que si encuentra un valor igual al que le indico que lo elimine, pero claro, eliminará todos los que encuentre con esta función.

¿Existe alguna función para que si encuentra una coincidencia, reemplace y pare de buscar?

Saludos

suaveSHOW

pues al llamar a la funcion hazlo añadiendo esta variable.

str_replace($cadena,$reemplazar,$variable,$contador);

te creara una variable llamada $contador que cuenta las veces que se reemplaza, por tanto haces luego una sentencia:

if($contador<1) $variable=str_replace($cadena,$reemplazar,$variable,$contador);
LOc0

http://es.php.net/manual/es/function.preg-replace.php (parámetro limit = 1)

Salu2 ;)

PD: tb puedes usar esto:


function str_first_replace($aguja, $sustituta, $pajar)
{
	return ($pos=strpos($pajar, $aguja))!==FALSE?substr_replace($pajar, $sustituta, $pos, strlen($aguja)):$pajar;
}


$cadena='caca caca caca caca';

echo str_first_replace('caca', 'pis', $cadena);

3 respuestas
eXtreM3

#3 xddddddddddddddd

themaz

Me quedo con la respuesta de #3.. jajaja no veas si me he reído

elkaoD

#3 yo también hago eso de "caca", "pis", "cacafuti", etc. Somos lo peor.

Usuarios habituales

  • elkaoD
  • themaz
  • eXtreM3
  • LOc0
  • suaveSHOW