Foros del Web » Programando para Internet » PHP »

Autolinkear Palabras en Texto

Estas en el tema de Autolinkear Palabras en Texto en el foro de PHP en Foros del Web. Hola ...tengo una duda del tiempo de ejecución de un código Me explico, resulta que estaba buscando la forma de autolinkear palabras de un texto ...
  #1 (permalink)  
Antiguo 09/10/2005, 12:07
 
Fecha de Ingreso: agosto-2004
Mensajes: 95
Antigüedad: 13 años, 3 meses
Puntos: 2
Autolinkear Palabras en Texto

Hola ...tengo una duda del tiempo de ejecución de un código
Me explico, resulta que estaba buscando la forma de autolinkear palabras de un texto de acuerdo a patrones predefinidos
.y llegue a estas dos formas ..

Código PHP:
<?
time_start
();
//** FORMA Nº 1*********************************************************************
$_patterns[0] = '/\b(ejemplo)\b/is';
$_replacements[0] = '<a target="_blank" href="http://www.ejemplo.cl" >$1</a>';

$_patterns[1] = '/\b(palabras)\b/is';
$_replacements[1] = '<a target="_blank" href="http://www.palabras.cl" >$1</a>';

$string 'Ejemplo como autolinkear palabras de un texto';
echo 
preg_replace($_patterns$_replacements$string);
//**********************************************************************************
echo '<br>'.time_end();

echo 
"<br><br>";

time_start();
//** FORMA Nº 2*********************************************************************
$_palabras['ejemplo']="http://www.ejemplo.cl";
$_palabras['palabras']="http://www.palabras.cl";

$string 'Ejemplo como autolinkear palabras de un texto';

foreach (
$_palabras as $key => $value)
{
$string preg_replace("/\b($key)\b/is""<a target='_blank' href='$value'>$1</a>"$string);}

echo 
$string;
//**********************************************************************************
echo '<br>'.time_end();


function 
time_start() {
global 
$timeparts,$starttime;
$timeparts explode(" ",microtime());
$starttime $timeparts[1].substr($timeparts[0],1);
$timeparts explode(" ",microtime());
}
 
function 
time_end() {
global 
$timeparts,$starttime;
$endtime $timeparts[1].substr($timeparts[0],1);
return 
bcsub($endtime,$starttime,6);
}


?>

Estan son las dos formas, y resulta que la primera se demora en promedio 3 veces más que la segunda

Código HTML:
Ejemplo como autolinkear palabras de un texto
0.000064

Ejemplo como autolinkear palabras de un texto
0.000017
Yo creo que debería demorarse menos la primera
ya que hago un solo preg_replace al cual le paso los array ..

por el contrario en el segundo ejemplo recorro un array y realizo N(tamaño array) llamadas a la funcion preg_replace

por que es esto ?

la segunda forma la cree porque creo que es una forma más entendible de definir las palabras y sus link
__________________
Marco de Arica (Chile)
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:19.