Foros del Web » Programando para Internet » PHP »

existe algo como ereg_replace pero multiple?

Estas en el tema de existe algo como ereg_replace pero multiple? en el foro de PHP en Foros del Web. digamos que tengo esto @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $texto = ereg_replace ( "{b}" , "<b>" , $texto ) ; $texto = ereg_replace ( ...
  #1 (permalink)  
Antiguo 04/06/2010, 11:46
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Pregunta existe algo como ereg_replace pero multiple?

digamos que tengo esto
Código PHP:
Ver original
  1. $texto=ereg_replace("{b}","<b>",$texto);
  2. $texto=ereg_replace("{/b}","</b>",$texto);
  3.  
  4. $texto=ereg_replace("{u}","<u>",$texto);
  5. $texto=ereg_replace("{/u}","</u>",$texto);
  6.  
  7. $texto=ereg_replace("{i}","<i>",$texto);
  8. $texto=ereg_replace("{/i}","</i>",$texto);

hay alguna funcion en php que haga eso pero todo de una? nose, que se le puedan pasar todos los valores en la misma funcion
  #2 (permalink)  
Antiguo 04/06/2010, 12:05
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: existe algo como ereg_replace pero multiple?

Cita:
Warning

This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
=)
usa las funciones PCRE en este caso.. preg_replace
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 04/06/2010, 12:18
Avatar de arthpix  
Fecha de Ingreso: diciembre-2003
Ubicación: Cancún
Mensajes: 2.340
Antigüedad: 20 años, 4 meses
Puntos: 93
Respuesta: existe algo como ereg_replace pero multiple?

Con los parámetros de búsqueda en arrays, de manera que se correspondan en orden:

Código PHP:
Ver original
  1. $buscar = array("{b}", "{/b}", "{u}", "{/u}", "{i}", "{/i}");
  2. $reemplazar = array("<b>", "</b>", "<u>", "</u>", "<i>", "</i>");
  3. $texto = preg_replace($buscar, $reemplazar, $texto);

Referencia: php preg_replace().
__________________
Antes de hacer rabietas infórmate: Linux != Windows
  #4 (permalink)  
Antiguo 04/06/2010, 12:29
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: existe algo como ereg_replace pero multiple?

Cita:
Iniciado por arthpix Ver Mensaje
Con los parámetros de búsqueda en arrays, de manera que se correspondan en orden:

Código PHP:
Ver original
  1. $buscar = array("{b}", "{/b}", "{u}", "{/u}", "{i}", "{/i}");
  2. $reemplazar = array("<b>", "</b>", "<u>", "</u>", "<i>", "</i>");
  3. $texto = preg_replace($buscar, $reemplazar, $texto);

Referencia: php preg_replace().
no olvides los delimitadores

Código PHP:
Ver original
  1. $buscar = array("{b}", "{/b}", "{u}", "{/u}", "{i}", "{/i}");
  2. $reemplazar = array("<b>", "</b>", "<u>", "</u>", "<i>", "</i>");
  3. $texto = preg_replace('%'.$buscar.'%', $reemplazar, $texto);
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 04/06/2010, 13:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: existe algo como ereg_replace pero multiple?

pero que metida de pata Hidek1, los delimitadores al rededor de una variable array??

además, según el análisis del problema lo mas corto y mejor es str_replace()... ;)


y si... hay que leer el manual
http://php.net/str_replace
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 04/06/2010, 13:32
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: existe algo como ereg_replace pero multiple?

Cita:
Iniciado por pateketrueke Ver Mensaje
pero que metida de pata Hidek1, los delimitadores al rededor de una variable array??

además, según el análisis del problema lo mas corto y mejor es str_replace()... ;)
rayos :P
bueno por algo es viernes ..

Código PHP:
Ver original
  1. $buscar = array("%{b}%", "%{/b}%", "%{u}%", "%{/u}%", "%{i}%", "%{/i}%");
  2. $reemplazar = array("<b>", "</b>", "<u>", "</u>", "<i>", "</i>");
  3. $texto = preg_replace($buscar, $reemplazar, $texto);

__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 04/06/2010, 13:42
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: existe algo como ereg_replace pero multiple?

las regexp sobran en este caso:


Código PHP:
Ver original
  1. $buscar=array('{b}','{/b}','{u}','{/u}','{i}','{/i}');
  2. $reemplazar=array('<b>','</b>','<u>','</u>','<i>','</i>');
  3. $texto=str_replace($buscar,$reemplazar,$texto);
  #8 (permalink)  
Antiguo 04/06/2010, 15:32
Avatar de arthpix  
Fecha de Ingreso: diciembre-2003
Ubicación: Cancún
Mensajes: 2.340
Antigüedad: 20 años, 4 meses
Puntos: 93
Respuesta: existe algo como ereg_replace pero multiple?

De hecho si str_replace() es suficiente y más apropiado en este caso, olvidé mencionarlo.
__________________
Antes de hacer rabietas infórmate: Linux != Windows
  #9 (permalink)  
Antiguo 06/06/2010, 10:24
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: existe algo como ereg_replace pero multiple?

Cita:
Iniciado por pateketrueke Ver Mensaje
además, según el análisis del problema lo mas corto y mejor es str_replace()... ;)
no digo que no sea cierto, pero porque seria mas apropiado usar str_replace que el PCRE que dice hidek1?
  #10 (permalink)  
Antiguo 06/06/2010, 10:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: existe algo como ereg_replace pero multiple?

Cita:
Iniciado por juanito1712 Ver Mensaje
no digo que no sea cierto, pero porque seria mas apropiado usar str_replace que el PCRE que dice hidek1?
porque los reemplazos PCRE emplean expresiones regulares, y se deben compilar e interpretar a parte, osea, es un proceso mas pesado...

efectivo cuando se trata de cosas dinámicas, pero el caso es que estos son solo reemplazos sencillos, no contienen expresiones regulares, ni nada dinámico...

así de sencillo... ¿para que usar el auto si solo voy a la tienda de la esquina??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 06/06/2010, 11:02
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: existe algo como ereg_replace pero multiple?

aaahaaaaa, vale vale ya me queda todo mas claro, en fin, muchísimas gracias a todos.

Etiquetas: existe
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 15:42.