Foros del Web » Programando para Internet » PHP »

ayuda para mejorar funcion

Estas en el tema de ayuda para mejorar funcion en el foro de PHP en Foros del Web. hola me comentaron que la funcion str_replace es mas rapida que preg_replace, queria saber si lo que hago en esta funcion con preg_replace podria hacerse ...
  #1 (permalink)  
Antiguo 17/01/2009, 06:16
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
ayuda para mejorar funcion

hola me comentaron que la funcion str_replace es mas rapida que preg_replace, queria saber si lo que hago en esta funcion con preg_replace podria hacerse con str_replace, y si hay alguna otra forma de mejorar su rendimiento tmb sera bienvenida
la funcion se fija si en el codigo estan estos parametros [dm]*[/dm] o [dmc]*[/dmc]
Código PHP:
function spm_codereplace($content) {
global 
$wpdb$table_prefix;
$action get_query_var('action');
if(
$action == 'descargar'){
  
preg_match("/\[dm\](\d+)\[\/dm\]/ise"$content$array);
  return 
$content dm_download($array[1]);
} elseif ( 
$action == 'imagenes' ) {
  return 
$content '[gallery]';
} elseif ( 
stristr$content'[dmc]' )) {
  return 
$content preg_replace("/\[dmc\](\d+)\[\/dmc\]/ise""dm_category('\\1')"$content);
} elseif ( 
stristr$content'[dm]' )){
  
preg_match("/\[dm\](\d+)\[\/dm\]/ise"$content$array);
  
$content preg_replace("/\[dm\](\d+)\[\/dm\]/ise"''$content);
  
$content str_replace('[gallery]'''$content);
  return 
$content dm_embedded($array[1],$content);
} else {
return 
$content;
}

saludos y gracias!
  #2 (permalink)  
Antiguo 17/01/2009, 08:18
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: ayuda para mejorar funcion

del manual de php: str_replace()

Esta función sustituye todas las apariciones de la cadena_buscada en la cadena cadena_original por la cadena_sustituta dada. Si no precisa reglas especiales de sustitución (como por ejemplo expresiones regulares), deberá usar siempre esta función en lugar de ereg_replace() o preg_replace().

osea donde estas usando un ER no vas apoder cambiarla por esta funcion

ahora lo que si te puedo recomendar es por ejemplo en

return $content = dm_download($array[1]);

estas asignando un valor a una variable para retornarla, osea esto no tiene sentido simplemente con que pongas

return dm_download($array[1]);

funciona igual y va a ir un pelin mas rapido pq no tiene q asignar la variable

saludos
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 18/01/2009, 08:37
p2pdownloading
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ayuda para mejorar funcion

muchas gracias!
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 16:48.