Foros del Web » Programando para Internet » PHP »

Sistema para enlaces en nuevas ventanas (target="_blank")

Estas en el tema de Sistema para enlaces en nuevas ventanas (target="_blank") en el foro de PHP en Foros del Web. Hola a todos. Tengo una base de datos en la que se almacenan url de noticias externas a mi página web, para luego mostrarlas por ...
  #1 (permalink)  
Antiguo 31/10/2007, 11:58
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 2 meses
Puntos: 2
Sistema para enlaces en nuevas ventanas (target="_blank")

Hola a todos.

Tengo una base de datos en la que se almacenan url de noticias externas a mi página web, para luego mostrarlas por pantalla a los usuarios.

En algunas ocasiones, se introducen dos url de noticias seguidas y separadas por un espacio.

Existe algun forma en php para hacer que los enlaces que muestro en un determinado sitio lleven el target="_blank" y se abran en una nueva ventana?

Es decir, por ejemplo, hacer algun sistema en php que haga que los enlaces que se muestren
-------------- Desde aqui
Enlaces sin el target="_blank"
-------------- Hasta aquí

Se abran en una ventana nueva?

A ver si me podeis ayudar. Muchas gracias por vuestra atencion.

Un saludo
  #2 (permalink)  
Antiguo 31/10/2007, 15:16
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Sistema para enlaces en nuevas ventanas (target="_blank")

Mmm... no se si lo que quieres es evitarte el "reemplazar por..." y poner todos los target automaticos o si quieres que en una pagina que alguien a ser con target blank y cuando otra persona lo vea se le quite?...

Cuentanos cual es la opcion! ;)

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 07/11/2007, 20:10
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: Sistema para enlaces en nuevas ventanas (target="_blank")

Hola. Si, el caso sería colocar automaticamente los targets...

Las url de las noticias las introducen seguidas, una detrás de otra, de este modo:

<a href="link1.html"></a> <a href="link2.html"></a> <a href="link3.html"></a>...

Para hacer que se introduzca automaticamente el target="_blank" utilizo el substr_replace?

Y... que pasaria si el usuario introduce una url que lleva incluida el target?

A ver si alguien me puede ayudar.

Gracias de antemano.

Un saludo.
  #4 (permalink)  
Antiguo 09/11/2007, 17:12
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 2 meses
Puntos: 2
Re: Sistema para enlaces en nuevas ventanas (target="_blank")

A ver si alguien me puede ayuda porfavor
  #5 (permalink)  
Antiguo 09/11/2007, 17:19
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Re: Sistema para enlaces en nuevas ventanas (target="_blank")

a) primero eliminas todos los target="_blank" con substr_replace()
b) agregas a todos los enlaces el target="_blank"

Creo que es la forma mas sencilla
  #6 (permalink)  
Antiguo 09/11/2007, 17:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sistema para enlaces en nuevas ventanas (target="_blank")

Código PHP:
preg_match_all('/<a .*>/Um',$textoenlaces,$enlaces);
$resultado=array();
foreach(
$enlaces[0] as $val) {
    if (
preg_match('| target=".*"|U',$val))
        
$resultado[] = preg_replace('| target=".*"|U',' target="_blank"',$val);

    else
        
$resultado[] = substr($val0, -1).' target="_blank">';
}
$textoenlaces str_replace($enlaces[0],$resultado,$textoenlaces); 
Si no me he dejado nada esto te servirá.
$textoenlaces es la variable donde va el texto con todos los enlaces que quieres añadirles el target="_blank", y te lo transforma y guarda en la misma variable.

Última edición por Lanselot; 09/11/2007 a las 17:52
  #7 (permalink)  
Antiguo 09/11/2007, 17:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Sistema para enlaces en nuevas ventanas (target="_blank")

Cita:
Iniciado por Italico76 Ver Mensaje
a) primero eliminas todos los target="_blank" con substr_replace()
b) agregas a todos los enlaces el target="_blank"

Creo que es la forma mas sencilla
Ahí la prueba de que a veces lo más sencillo es lo mejor xDDD
Pero bueno, lo otro también servía xD
Lo bueno de mi código es que reemplaza cualquier target, sea _blank o _top, o _maria, o pepe, o josé...
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 20:01.