Foros del Web » Programando para Internet » PHP »

¿Como puedo solucionar esto? Enlace cliqueable

Estas en el tema de ¿Como puedo solucionar esto? Enlace cliqueable en el foro de PHP en Foros del Web. Hola a todos, pues eso mismo, ¿cómo podria solucionar este problema? Son dos en uno, que los enlaces se puedan cliquear y que no salgan ...
  #1 (permalink)  
Antiguo 11/02/2008, 12:58
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
¿Como puedo solucionar esto? Enlace cliqueable

Hola a todos, pues eso mismo, ¿cómo podria solucionar este problema?
Son dos en uno, que los enlaces se puedan cliquear y que no salgan de la pagina.
Aqui os dejo el enlace: http://www.tupreguntatienerespuesta....stas.php?id=45

Un saludo,
  #2 (permalink)  
Antiguo 11/02/2008, 13:06
Avatar de Akiracr  
Fecha de Ingreso: septiembre-2006
Mensajes: 114
Antigüedad: 17 años, 7 meses
Puntos: 3
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Cita:
Iniciado por Capi666 Ver Mensaje
Hola a todos, pues eso mismo, ¿cómo podria solucionar este problema?
Son dos en uno, que los enlaces se puedan cliquear y que no salgan de la pagina.
Aqui os dejo el enlace: http://www.tupreguntatienerespuesta....stas.php?id=45

Un saludo,
no se si entiendo bien la pregunta es hacer un link y que se abra en la misma pagina si es asi se hace asi:

<a href='http://yahoo.com' target='_seft'>clikea aqui</a>
  #3 (permalink)  
Antiguo 11/02/2008, 13:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: ¿Como puedo solucionar esto? Enlace cliqueable

¿Podrías explicar mas el problema que tienes?

Saludos.
  #4 (permalink)  
Antiguo 11/02/2008, 14:23
Avatar de charlyrosero  
Fecha de Ingreso: julio-2006
Mensajes: 161
Antigüedad: 17 años, 8 meses
Puntos: 5
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Amigo, si la intencion es abrir todas los vinculos de tu pagina en una misma ventana pues haz lo siguiente

aplica el parametro target en el link asi

ejemplo de link

<a href="http://mi vinculo.html" target="_self">abrir</a>

Saludos
  #5 (permalink)  
Antiguo 11/02/2008, 15:17
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Borrar.....

Última edición por hgp147; 11/02/2008 a las 15:23
  #6 (permalink)  
Antiguo 11/02/2008, 19:22
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: ¿Como puedo solucionar esto? Enlace cliqueable

create un control tab con java o css o utliza <iframe> con html
  #7 (permalink)  
Antiguo 11/02/2008, 19:29
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Re: ¿Como puedo solucionar esto? Enlace cliqueable

no quieres que los links se salgan de la parte negra? si es eso, esto puede que te sirva:

http://ar.php.net/wordwrap


lo de enlace cliqueable:
si metes el texo/link mediante un ABM (administrador de contenidos) con un textbox común:

<a href="http://img518.imageshack.us/my.php?image=p2100069de5.jpg" "_blank">http://img518.imageshack.us/my.php?image=p2100069de5.jpg</a>

si tienes un editor html, al igual que en este foro puedes meter el link pulsando el icono que tiene un mundo con una cadena, eso te permitirá crear un link.
  #8 (permalink)  
Antiguo 11/02/2008, 21:03
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Pero si está más claro que el agua muchachos

@Capi666, tu primera cuestión está ya posteada en las FAQs y en varios temas a lo largo del foro. SI usaras el buscador te darás cuenta de la cantidad de veces que se ha tratado el tema (Léetelos en ese orden)

FAQ PHP # 193: Puedo hacer que las url que esten en un texto se hagan "linkeables"?
FAQ PHP # 70: Convertir URL a enlaces con criterios

Ahora, para tu segunda duda, podrías limitar el número de caracteres de tu url. Si se excede de ese número, tomas un número de caracteres del inicio, otro tanto del final, y lo demás lo reemplazas por ... (como lo que sucede en este foro). Eso lo haces con la función substr():

Código PHP:
$limite 45;
 
$url = (strlen($url) > $limite) ? substr($url,0,($limite-12))."...".substr($url,-10) : $url
Un saludo,
  #9 (permalink)  
Antiguo 12/02/2008, 05:26
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Cita:
Iniciado por okram Ver Mensaje
Pero si está más claro que el agua muchachos

@Capi666, tu primera cuestión está ya posteada en las FAQs y en varios temas a lo largo del foro. SI usaras el buscador te darás cuenta de la cantidad de veces que se ha tratado el tema (Léetelos en ese orden)

FAQ PHP # 193: Puedo hacer que las url que esten en un texto se hagan "linkeables"?
FAQ PHP # 70: Convertir URL a enlaces con criterios

Ahora, para tu segunda duda, podrías limitar el número de caracteres de tu url. Si se excede de ese número, tomas un número de caracteres del inicio, otro tanto del final, y lo demás lo reemplazas por ... (como lo que sucede en este foro). Eso lo haces con la función substr():

Código PHP:
$limite 45;
 
$url = (strlen($url) > $limite) ? substr($url,0,($limite-12))."...".substr($url,-10) : $url
Un saludo,
perfecto, mas claro agua...
Voy a probar y os cuento.

Gracias,
  #10 (permalink)  
Antiguo 12/02/2008, 13:04
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Hola, he hecho bien lo del link cliqueable... El problema es acortar la url y poner ... ¿como lo puedo hacer? Esa url esta dentro de un texto...

Lo he solucionado con http://ar.php.net/wordwrap el problema es que pongo el ancho y corta donde quiere la url...
El corte esta en 19 y la url sale mas de 19 caracteres ($resp = wordwrap($resp, 19, "\n", 1);): http://www.tupreguntatienerespuesta....stas.php?id=45 y al final me aparece un < br />


Un saludo,

Última edición por Capi666; 12/02/2008 a las 13:14
  #11 (permalink)  
Antiguo 12/02/2008, 21:27
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Podrías solucionarlo usando la función preg_replace_callback():

Código PHP:
function ConvertirCortar$matches ) {  
    
$limite 30
    
$matches[0] = (strlen($matches[0]) > $limite) ? substr($matches[0],0,15)."...".substr($matches[0],19-$limite) : $matches[0]; 
    return 
"<a href=\"".(!empty($matches[3]) ? $matches[3] : "http")."://$matches[4]$matches[5]$matches[6]\" target=\"_blank\">$matches[0]</a>";  


function 
ponerLinks$str ) { 
    return 
preg_replace_callback("/((([a-zA-Z]+):\/\/)|(www\.))([\w\.]+)([\#\,\/\~\?\&\=\;\%\-\w+\.]+)/i",'ConvertirCortar',$str); 

 
echo 
ponerLinks($str); 
Aquí tienes un ejemplo funcionando:

EJEMPLO: http://ejemplos.fdw.myokram.info/link/
CÓDIGO: http://ejemplos.fdw.myokram.info/link/?source

Un saludo,
  #12 (permalink)  
Antiguo 13/02/2008, 13:13
 
Fecha de Ingreso: febrero-2007
Ubicación: Valencia
Mensajes: 457
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Cita:
Iniciado por okram Ver Mensaje
Podrías solucionarlo usando la función preg_replace_callback():

Código PHP:
function ConvertirCortar$matches ) {  
    
$limite 30
    
$matches[0] = (strlen($matches[0]) > $limite) ? substr($matches[0],0,15)."...".substr($matches[0],19-$limite) : $matches[0]; 
    return 
"<a href=\"".(!empty($matches[3]) ? $matches[3] : "http")."://$matches[4]$matches[5]$matches[6]\" target=\"_blank\">$matches[0]</a>";  


function 
ponerLinks$str ) { 
    return 
preg_replace_callback("/((([a-zA-Z]+):\/\/)|(www\.))([\w\.]+)([\#\,\/\~\?\&\=\;\%\-\w+\.]+)/i",'ConvertirCortar',$str); 

 
echo 
ponerLinks($str); 
Aquí tienes un ejemplo funcionando:

EJEMPLO: http://ejemplos.fdw.myokram.info/link/
CÓDIGO: http://ejemplos.fdw.myokram.info/link/?source

Un saludo,
Muchisimas gracias
  #13 (permalink)  
Antiguo 13/02/2008, 14:32
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Hola, excelente el código de okram. Quería saber si se podría hacer lo mismo con los emails, es decir que se vuelvan cliqueables automaticamente y que ponga "..." si es muy largo.
  #14 (permalink)  
Antiguo 13/02/2008, 14:53
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: ¿Como puedo solucionar esto? Enlace cliqueable

Ya lo logre. Pero quería saber si se puede simplificar algo:

Código PHP:
function ConvertirCortarurl$matches ) {  
    
$limite 44
    
$matches[0] = (strlen($matches[0]) > $limite) ? substr($matches[0],0,15)."...".substr($matches[0],19-$limite) : $matches[0]; 
    return 
"<a href=\"".(!empty($matches[3]) ? $matches[3] : "http")."://$matches[4]$matches[5]$matches[6]\" target=\"_blank\">$matches[0]</a>";  
}  

function 
ConvertirCortaremail$matches ) { 
    
$limite 44;
    
$matches[0] = (strlen($matches[0]) > $limite) ? substr($matches[0],0,15)."...".substr($matches[0],19-$limite) : $matches[0];
    return 
"<a href=\"mailto:$matches[1]@$matches[2]\" target=\"_blank\">$matches[0]</a>"
}



function 
ponerLinksurl$str ) {
    return 
preg_replace_callback("/((([a-zA-Z]+):\/\/)|(www\.))([\w\.]+)([\#\,\/\~\?\&\=\;\%\-\w+\.]+)/i",'ConvertirCortarurl',$str);
 

}

function 
ponerLinksemail$str ) {
    return 
preg_replace_callback("/([a-zA-Z0-9\._-]+)@([a-zA-Z0-9\._-]+)/i",'ConvertirCortaremail',$str);

}



$comentario ponerLinksemail(ponerLinksurl($cadena)); 
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:17.