Foros del Web » Programando para Internet » PHP »

STR_REPLACE varias veces sobre $ver

Estas en el tema de STR_REPLACE varias veces sobre $ver en el foro de PHP en Foros del Web. Saludos. Quiero realizar un str_replace a una variable, pero varias veces. Ej: $ver = 12.32/32*qw quiero reemplazar primero el "." luego el "/" y por ...
  #1 (permalink)  
Antiguo 02/01/2002, 13:42
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
STR_REPLACE varias veces sobre $ver

Saludos.

Quiero realizar un str_replace a una variable, pero varias veces.

Ej:

$ver = 12.32/32*qw

quiero reemplazar primero el "." luego el "/" y por último el "*".

La cosa es como escribo algo así:

$ver = str_replace (".", "_", $ver);
$ver . = $cambio . str_replace ("/", "_", $ver);

para finalmente imprimir el valor de $ver con todos los cambios hechos.

Sé que esta mal escrito porque no funciona, lo he puesto a funcionar de la siguiente forma:

$ver = str_replace (".", "_", $ver);
$vers = str_replace (".", "_", $ver);

echo $vers.

El problema de hacerlo así es que si tengo muchas cosas que reemplazar se torna imposible de escribir.

Gracias

José Molina
  #2 (permalink)  
Antiguo 02/01/2002, 14:44
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: STR_REPLACE varias veces sobre $ver

hola,
probá con lo siguiente:
<pre>
$eltos = array(1=&gt;&quot;.&quot;, 2=&gt;&quot;/&quot;, ...);/* con todos los simbolos que quieras reemplazar*/

$cant=count($eltos);
for($i=1;$i&lt;=$cant;$i++)
$ver = str_replace ($eltos[$i], &quot;_&quot;, $ver);
// asi cambias todos los simbolos al final del bucle.
</pre>
Espero que te sirva.

Saludos!
Nok;)
  #3 (permalink)  
Antiguo 02/01/2002, 15:44
 
Fecha de Ingreso: agosto-2001
Mensajes: 19
Antigüedad: 22 años, 8 meses
Puntos: 0
Re: STR_REPLACE varias veces sobre $ver

Yo lo tengo asi:

$tempdireccion = $direccion;

$tempdireccion = ereg_replace(&quot;#&quot;,&quot;No&quot;,$tempdir eccion);

$tempdireccion = ereg_replace(&quot;/&quot;,&quot; &quot;,$tempdireccion);

$tempdireccion = ereg_replace(&quot;$&quot;,&quot; &quot;,$tempdireccion);

$tempdireccion = ereg_replace(&quot;%&quot;,&quot; &quot;,$tempdireccion);

$direccion = ereg_replace(&quot;&amp;&quot;,&quot; &quot;,$tempdireccion);


Leonardo Fabio Muñoz Bedoya
  #4 (permalink)  
Antiguo 02/01/2002, 15:49
Avatar de José Molina  
Fecha de Ingreso: enero-2002
Ubicación: USA
Mensajes: 768
Antigüedad: 22 años, 3 meses
Puntos: 1
Re: STR_REPLACE varias veces sobre $ver

Gracias a todos.

Efectivamene Leonardo esa es la solución más rápida.

Sólo que en vez de declarar la primera variable como tu, yo utilice la respuesta de una consulta a la db.

Pero todo lo demás quedo igual.

Gracias a todos.

José Molina
  #5 (permalink)  
Antiguo 02/01/2002, 16:02
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: STR_REPLACE varias veces sobre $ver

Lamentablemente, la respuesta que da Leonardo no es muy buena, porque utiliza ereg_replace, lo cual es más lento ya que estás cargando en memoria el motor de expresiones regulares, cosa que es completamente innecesaria en este caso y que consume mucha más memoria que un simple str_replace.

Si se fijaran en el manual del PHP (cosa que recomiendo de vez en cuando) y leen lo que se dice en el apartado sobre str_replace, van a darse cuenta de que str_replace acepta arrays con los elementos a ser reemplazados, entonces, TODO el código que Leonardo escribió, se resumiria a lo siguiente:

<pre>
&lt;?
$array1 = array(&quot;#&quot;,&quot;/&quot;,&quot;$&quot;,&quot;%&quot;,&quot;&amp;&quo t;);
$array2 = array(&quot;No&quot;);
$tempdireccion = str_replace($array1, $array2, $tempdireccion);
?&gt;
</pre>

De esa manera, str_replace, reemplazará cada uno de las ocurrencias en el primer Array, por su homónimo en el segundo Array, y si el segundo array es menor que el primero, entonces reemplaza por espacios vacios.

Str_Replace, también permite utilizar un array y un String. De esa manera, en el array indicamos que caracteres queremos reeplazar por que String. Y listo.

Vieron que bueno que es el PHP??

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #6 (permalink)  
Antiguo 02/01/2002, 16:15
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 23 años
Puntos: 0
Re: STR_REPLACE varias veces sobre $ver

Plap, plap, plap (aplausos!?), la verdad que me sorprendiste esta vez WebStudio, no la tenia esa la de los array en str_replace, voy a tener que revisar un poco mas el manual de php :P.
Hasta luego Troesma...

Saludos!
Nok ;)
  #7 (permalink)  
Antiguo 02/01/2002, 18:27
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 22 años, 10 meses
Puntos: 0
Re: STR_REPLACE varias veces sobre $ver

Bueno WebStudio, al final entre lo de usar los arrays <pre>$HTTP_*_VARS[] </pre> Y lo de no cargar el motor de expresiones regulares cuando no es necesario. Estamos &quot;optimizando&quot; a los aprendices del foro de una manera impresionante eh ?? Bueno, habrá que buscar alguna otra muletilla típica de principiantes para corregirla ;)

Salu2

- Fernando Pereda ( Ferdy )
<center><a href="http://www.ferdyx.org/firmas.php"><img src="http://www.ferdyx.org/reg_tira.jpg" border="0"></a></center>
  #8 (permalink)  
Antiguo 03/01/2002, 08:18
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Re: STR_REPLACE varias veces sobre $ver

Has visto Ferdy!!?? Será que esa es nuestra misión en los Foros? Estoy seguro que si.

Y cuando comiencen a ver las ventajas que tiene ahora utilizar los Arrays Asociativos nuevos que hay en el PHP 4.1.0, nos van a dar la razón y a hacernos un monumento :P.

Bueno, un monumento no, pero que una plaza lleve nuestro nombre!

Saludos.!

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:22.