Foros del Web » Programando para Internet » PHP »

Funcion para reemplazar HTTP

Estas en el tema de Funcion para reemplazar HTTP en el foro de PHP en Foros del Web. Hola estaba buscando una funcion para que si yo pongo http://www.pagina.com me ponga las etiquetas <a href automaticamente. Alguien tiene alguna? saludos...
  #1 (permalink)  
Antiguo 27/07/2007, 14:05
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 3 meses
Puntos: 0
Funcion para reemplazar HTTP

Hola estaba buscando una funcion para que si yo pongo http://www.pagina.com me ponga las etiquetas <a href automaticamente.

Alguien tiene alguna?

saludos
  #2 (permalink)  
Antiguo 27/07/2007, 14:07
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 3 meses
Puntos: 3
Re: Funcion para reemplazar HTTP

no entiendo ...
  #3 (permalink)  
Antiguo 27/07/2007, 14:14
 
Fecha de Ingreso: enero-2006
Mensajes: 293
Antigüedad: 18 años, 3 meses
Puntos: 4
Re: Funcion para reemplazar HTTP

Según a como entendí...

Código PHP:
<?
  
function poneTagsA($x,$texto){
    echo 
'<a href="$x" target="_blank" >$texto</a>';
  }
?>

y la mandas llamar:
Código PHP:
<?
      poneTagsA
("paginaNueva.php""Texto de la página nueva");
?>
saludos
  #4 (permalink)  
Antiguo 27/07/2007, 21:24
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Funcion para reemplazar HTTP

jeje no, no me entendieron

a lo que me refiero es que si yo pongo http://www.pagina.com me lo transforme en link automaticamente, osea sin andar poniendo el tag <a href.
en pocas palabras, seria que toda palabra que empieze con http:// la haga link.
  #5 (permalink)  
Antiguo 27/07/2007, 21:48
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Funcion para reemplazar HTTP

Código PHP:
<?

function links($cadena)
{
      
$http "http://";
      
$array split(" "$cadena);
      
//echo count($array);
      
for($i=0;$i<=(count($array));$i++)
        {
            
//echo $array[$i];
            
if(eregi($http$array[$i]))
                
$copia[$i] = "<a href='".$array[$i]."'>$array[$i]</a>";
                
                else
                
$copia[$i] = $array[$i];
                
        }
        return 
implode(' '$copia);
      
}

$cadena "Este es un link http://www.comoandas.com y este es otro link http://www.google.com.";
$links links($cadena);
echo 
$links;
?>
Fijate si te sirve esta funcion q te la acabo de hacer...
  #6 (permalink)  
Antiguo 28/07/2007, 00:34
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Funcion para reemplazar HTTP

Gracias! pero Funciona masomenos

mira como queda : http://www.atconcert.com.ar/index.ph...&ver=anunciosb

saludos
  #7 (permalink)  
Antiguo 28/07/2007, 17:27
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Funcion para reemplazar HTTP

Código PHP:
<?

function links($cadena)
{
      
$http "http://";
      
$cadena str_replace('<'' <'$cadena);
      
$array split(" "$cadena);
      for(
$i=0;$i<=(count($array));$i++)
        {
            if(
eregi($http$array[$i]))
                
$copia[$i] = "<a href='".$array[$i]."'>$array[$i]</a>";
                
                else
                
$copia[$i] = $array[$i];
                
        }
        return 
implode(' '$copia);
      
}

$cadena "Este es un link http://www.comoandas.com<br>y este es otro link http://www.google.com.";
echo 
"La cadena original es: <br>$cadena<br>";
$links links($cadena);
echo 
$links;
?>
Perdona la demora... fijate que con eso lo arregle! (en especial pa vos :P)
  #8 (permalink)  
Antiguo 29/07/2007, 16:04
Avatar de capa  
Fecha de Ingreso: octubre-2006
Mensajes: 86
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: Funcion para reemplazar HTTP

Interesante, le puedes agregar target para que abra en nuevas ventanas target="_blank"
buena tu code, esto suelo hacer con expresiones regulares, pero vale igual.
Código PHP:
function links($cadena,$target="")
{
      
$http "http://";
      
$cadena str_replace('<'' <'$cadena);
      
$array split(" "$cadena);
      
$targt = ($target) ? " target=\"".$target."\"":"";
      for(
$i=0;$i<=(count($array));$i++)
        {
            if(
eregi($http$array[$i]))
                
$copia[$i] = "<a href=\"".$array[$i]."\"$targt>$array[$i]</a>";
                else
                
$copia[$i] = $array[$i];
        }
        return 
implode(' '$copia);
}

$cadena "Este es un link http://www.comoandas.com<br>y este es otro link http://www.google.com.";
echo 
"La cadena original es: <br>$cadena<br>";
//$links = links($cadena);
//le agregara..  target="_blank" 
$links links($cadena,"_blank");
echo 
$links
__________________
Destreza..<?phs La felicidad es un trayecto ?>
  #9 (permalink)  
Antiguo 29/07/2007, 16:19
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Funcion para reemplazar HTTP

Ahora esta un poco mejor pero sigue habiendo problemas :S
que raro esto

miren : http://atconcert.com.ar/index.php?a=...&ver=anunciosb
  #10 (permalink)  
Antiguo 29/07/2007, 17:25
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Funcion para reemplazar HTTP

Código PHP:
function links($cadena,$target="")
{
      
$http "http://";
      
$cadena str_replace('<'' <'$cadena);
      
$cadena str_replace('>''> '$cadena);
      
$array split(" "$cadena);
      
$targt = ($target) ? " target=\"".$target."\"":"";
      for(
$i=0;$i<=(count($array));$i++)
        {
            if(
eregi($http$array[$i]))
                
$copia[$i] = "<a href=\"".$array[$i]."\"$targt>$array[$i]</a>";
                else
                
$copia[$i] = $array[$i];
        }
        return 
implode(' '$copia);
}

$cadena "Este es un link http://www.comoandas.com<br>y este es otro link http://www.google.com.";
echo 
"La cadena original es: <br>$cadena<br>";
//$links = links($cadena);
//le agregara..  target="_blank" 
$links links($cadena,"_blank");
echo 
$links
Listo :P
  #11 (permalink)  
Antiguo 29/07/2007, 17:28
Avatar de capa  
Fecha de Ingreso: octubre-2006
Mensajes: 86
Antigüedad: 17 años, 6 meses
Puntos: 1
Re: Funcion para reemplazar HTTP

buano gege..
haber pueba este:
Código PHP:
$cadena "haber pueba con esta función <b>eregi_replace()</b><br>Links ==> ftp: ftp://unsite.com, http: http://www.google.com";
$cadena eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)''<a href="\\1" target="_blank">\\1</a>'$cadena);
echo 
"<br>".$cadena
suerte.
__________________
Destreza..<?phs La felicidad es un trayecto ?>
  #12 (permalink)  
Antiguo 29/07/2007, 17:37
 
Fecha de Ingreso: diciembre-2005
Mensajes: 249
Antigüedad: 18 años, 3 meses
Puntos: 0
Re: Funcion para reemplazar HTTP

Me funciono de lujo, muchisimas gracias a ambos :)
un abrazoo
  #13 (permalink)  
Antiguo 18/10/2007, 21:29
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Funcion para reemplazar HTTP

Excelente, dejo una función con el ejemplo de capa para que tome también www.xxxxxx.com, estaría bueno que tome también emails, si alguien se quiere tomar el trabajo y luego pasarla a las faqs varios agradecerán ese esfuerzo:

Código PHP:
function ponerLinks$str ){
    
$tmp eregi_replace('((ftp|http|www)[-a-zA-Z0-9@:%_\+.~#?&//=]+)''<a href="\\1" target="_blank">\\1</a>'$str);
   
#Si esto se puede integrar en la regex sería mejor aún....
    
return str_replace('href="www.','href="http://www.'$tmp);

__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por nicolaspar; 18/10/2007 a las 21:55
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:16.