Foros del Web » Creando para Internet » HTML »

De links

Estas en el tema de De links en el foro de HTML en Foros del Web. Hola, aunque parezca una pregunta de trivial no lo es. Cuál es la longitud máxima de un link? (cuántos caracteres puede llegar a contener). Otra ...
  #1 (permalink)  
Antiguo 16/12/2011, 04:17
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
De links

Hola, aunque parezca una pregunta de trivial no lo es. Cuál es la longitud máxima de un link? (cuántos caracteres puede llegar a contener).

Otra cosa. Uso un lector de RSS (SimplePie) que lo que hago es que coger los registros, entre ellos título y link de la entrada.

En el link de google news me saca un enlace en el que se incluye esto:

Código PHP:
&amp
en lugar de

Código PHP:

(que sería lo correcto, lo he comprobado en el RSS de Google). O dicho de otra forma, transforma el caracter & a su versión html y eso parece que no es válido para un link. El caso es que no me funciona. No se puede poner en los link &?
  #2 (permalink)  
Antiguo 16/12/2011, 07:57
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: De links

usa un bloque de CDATA en el XML para evitar esos problemas
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 16/12/2011, 08:12
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

ya, el problema es que el XML (RSS) me viene dado, yo sólo recojo los datos tal cual me vienen, o más bien diría yo, lo hace el SimplePie por mí. Debería modificar el SimpliePie pero se me queda muy grande tocar el código, son miles de líneas y seguro que estropeo algo.
  #4 (permalink)  
Antiguo 16/12/2011, 09:23
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: De links

podrías usar la funcion javascript para decodificar esos caracteres protegidos:
ver: http://www.w3schools.com/jsref/jsref_escape.asp


Mira este ejemplo: http://jsfiddle.net/p4bl1t0/s74A2/
  #5 (permalink)  
Antiguo 16/12/2011, 09:41
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Gracias ryuhen, el tema es si siempre tengo que escapar los links.

Dicho de otra forma, si escapo todos los q obtengo y pasa que alguno no debería haber escapado y me da problemas...

O dicho de otra forma, los caracteres escapados "raros" no sirven para los enlaces?
  #6 (permalink)  
Antiguo 16/12/2011, 09:56
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: De links

debrias escapar todos los href de los links.

Puedes dar ejemplo, de lo que llamarias raro, o en que caso no funcionaria lo que te digo, asi vemos o analizamos otra alternativa?
  #7 (permalink)  
Antiguo 16/12/2011, 10:02
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

a raro me refiero a los caracteres del ejemplo q m ponías, en plan D%3F cosas así, pero bueno, intentaré probar tu ejemplo y te digo
  #8 (permalink)  
Antiguo 16/12/2011, 10:50
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: De links

Si ves mi ejemplo, yo hago las dos cosas, el codificado y decodificado de una URL, en tu caso, solo necesitas decodificar, pues ya te viene codificada.
  #9 (permalink)  
Antiguo 16/12/2011, 16:10
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Vale, de acuerdo pero mi pregunta es si siempre en los links deben ir los caracteres decodificados o a veces van codificados. Es que cambia mucho, necesito hacer algo estándar, no vaya a ser que los decodifique todos y luego haya problemas.
  #10 (permalink)  
Antiguo 16/12/2011, 23:00
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 187
Respuesta: De links

En este link te explica que caracteres puede tener una URI y cuales no:
http://en.wikipedia.org/wiki/Percent-encoding
  #11 (permalink)  
Antiguo 20/12/2011, 09:54
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

vaya pues no me entero mucho, he intentado traducir pero aún así no lo entiendo. mi pregunta es si nunca se usa

Código PHP:
Ver original
  1. &

y siempre se usa

Código PHP:
Ver original
  1. &

es que si es así hago un reemplazo y listo
  #12 (permalink)  
Antiguo 20/12/2011, 11:10
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: De links

buenas,
esta es la segunda vez que releo el tema y aún no lo comprendo del todo. lo que si te puedo decir es lo siguiente. en el código fuente, sea xml o html, el ampersand (&) es un caracter especial para el lenguaje. por lo que si quieres incluir el signo como parte del contenido -incluyendo los enlaces- debes convertirlo a la entidad equivalente &. en el caso de los enlaces, cuando el navegador analiza el código, mostrará el ampersand como uno normalito. por lo que no deberías tener problema al momento de activar el enlace.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 20/12/2011, 11:20
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: De links

Lo correcto es usar & y no &, lo mismo para muchos otros caracteres, los motivos pueden variar

http://www.librosweb.es/xhtml/capitulo4/url.html


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #14 (permalink)  
Antiguo 26/12/2011, 05:03
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Vale emprear, y cómo explicas que NO funcione este link con
Código HTML:
Ver original
  1. &
?


Código PHP:
http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html 
y SÍ el mismo con
Código HTML:
Ver original
  1. &
?


Código PHP:
http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html 
  #15 (permalink)  
Antiguo 26/12/2011, 08:35
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: De links

En realidad si funciona, dónde no funciona es en el BBcode del foro, y al parecer por lo siguiente


si vos ponés esto

Código HTML:
Ver original
  1. http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html

en el html del foro se genera


Código HTML:
Ver original
  1. http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html

es decir que basicamente esto &amp está mal
mientras si lo pones solo con &, el código se corrige automaticamente y te genera


Código HTML:
Ver original
  1. href="http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html

es decir, la forma correcta, y si funciona. Si ves el código fuente del for lo vas a comprobar.
Por las dudas una demo
http://foros.emprear.com/html/dlink.html

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #16 (permalink)  
Antiguo 03/01/2012, 09:00
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

No entiendo lo que me dices emprear, pero lo que está claro es que en mi último post puse 2 links, el primero no va por lo que expliqué y el segundo sí, por lo que deduzco que:

el & se debe usar en el link

en lugar de su versión & a m p ; (que no funciona)

alguien podría corroborarme esto?
  #17 (permalink)  
Antiguo 03/01/2012, 09:36
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: De links

No hay forma más clara de explicarlo, no viste el código de la demo?
Funciona en ambas formas, solo que en una no valida el xhtml


Esto funciona:

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=ht tp://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html

Y esto tambien:

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&am p;url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html

Pero si usas la segunda forma y dejás que el bbcode del foro te lo transforme automáticamente en una url te crea esto al hacer la substitución del &

http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUbl g&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html

Y es ahi dónde no funciona

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #18 (permalink)  
Antiguo 05/01/2012, 02:48
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Emprear te agradezdco mucho tus explicaciones.

No sé, yo creo es posible interpretes mal mis explicaciones. No es problema de FDW o el bbcode.

Si lees mi primer post verás que el SimplePie lo que hace es transformar URL con & en URL con &

Entonces esa URL con & no va. Si la copias/pegas en el navegador (al menos a mí) no me funciona. He probado a sustituir & por & y en ese caso sí que va.

No es cuestión del bbcode y transformaciones sino del SimplePie entiendo yo.

Y no sé, a mí no me van las URL con & ... no entiendo cómo dices que funciona.

Esto que dices que va a mí no me funciona:

Código PHP:
http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html 
Vamos, resumiendo, que no es problema del Bbcode, lo q te copio/pego en todos los post el Bbcode no me lo transforma, yo lo saco del SimplePie y así es como se muestra en FDW.
  #19 (permalink)  
Antiguo 05/01/2012, 07:01
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: De links

Prueba hecha con simplePie

http://foros.emprear.com/xml/

mirá el rss, funciona de las dos maneras
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #20 (permalink)  
Antiguo 19/02/2012, 14:21
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Vaya!!! tienes razón (perdón por el tiempo en tardar pero estuve con otros temas, lo siento).

Y he encontrado cuál es el problema pero no la solución.

El tema es que poniendo el link con & a m p ; el propio navegador te lo transforma en & y entonces sí que te va. Hasta aquí PERFECTO.

Mi problema es que ese mismo link lo mando en un enlace que luego recojo con GET.

Al recoger el link con GET (que además lo pasa correctamente con & porque veo la url en la barra del navegador) se me corta en el &, es decir que sale:

http://news.google.com/news/url?sa=t y de aquí no pasa, qué puedo hacer?

muchas graciasss

PD: quizá puede resultar un poco raro el proceso. Me explico. Mando el enlace por medio de un link. Lo recojo en un archivo .php por medio de GET, actualizo el contador de la base de datos y más cosas en función de ese link y ya por fin lanzo el link con


Código PHP:
Ver original
  1. header('Location: ' . $linkpage . '');

Es por eso que no me limito a simplemente a poner el link sino que incluyo ese paso intermedio que necesito, de ahí que tenga que recogerlo con GET.

Última edición por humanista; 19/02/2012 a las 14:29
  #21 (permalink)  
Antiguo 19/02/2012, 14:51
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Igual por AJAX funcionaría?
  #22 (permalink)  
Antiguo 19/02/2012, 15:27
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: De links

pues en ese caso, tienes que neutralizar el enlace que pasas como parámetros para que el servidor no confunda entre la separación de parámetros del enlace original (el que envia la petición get con parámetros) y el valor del parámetro (el enlace que quieres pasar). html no te lo va hacer automaticamente. tienes que usar lenguaje servidor, para codificar el parametro (en caso de que lo imprimas desde tu servidor), o puedes usar javascript y componer el enlace.

por ejemplo, si tu quieres pasar por parámetro la URL web.com?param=value&p=v, entonces tendrías que codificar los caracteres especiales para no crear conflicto con los parámetros de tu URL. por ejemplo, si enlace.php es quien recibe por GET los parámetros, la url tendria que resultar así:
enlace.php?url=web.com%3Fparam%3Dvalue%26p%3Dv&otros=valor.

eso es lo que entiendo que intentas hacer. y por ajax tendrias el mismo problema porque el asunto es cómo el servidor lo esta interpretando.
  #23 (permalink)  
Antiguo 20/02/2012, 03:12
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Por AJAX lo he intentado y va bien porque luego lo mando con uriencode al php...

EL "único" problema es que mi script finaliza en el .js enviando al usuario con window.open a una web. El tema es que el navegador me bloquea la pop-up con lo que me temo que tengo que descartar esa opción.

Entonces mi pregunta es (pero creo que este no el sitio para preguntarlo pues es de .php), si se puede abrir una ventana nueva con header location desde AJAX.
  #24 (permalink)  
Antiguo 20/02/2012, 08:11
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

He probado lo de abrir la ventana con header-location desde el .php del AJAX y no va con lo que igual tengo que retomar la idea de zarokilled pero... cómo hago para pasar un parámetro que tenga un & a m p ; o & y que al recogerlo con GET no se corte?

zerokilled tú lo que me dices creo que no sirve para parámetros con & o sí???
  #25 (permalink)  
Antiguo 20/02/2012, 08:26
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Ahhh, un momento que he investigado un poco y creo que ya sé lo que quieres decir.

Sería convertir el link con urlencode ($url) y después al recibirla con GET hacer urldecode ($url), no? estas 2 funciones son específicas para esto no ? (para pasar URL y recibirlas por GET)
  #26 (permalink)  
Antiguo 20/02/2012, 08:45
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: De links

@humanista, a esta altura ya estoy un poco confundido, pero a ver si esto te sirve de algo para orientarte al menos



envia.php

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
  2. Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. </head>
  7.  
  8. <a href="recibe.php?http://news.google.com/news/url?sa=t&amp;fd=R&amp;usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&amp;url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html">con amp</a> |
  9. <a href="recibe.php?http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNHXpa2Erb763LrLZpz615MvadUblg&url=http://www.diarioinformacion.com/elche/2011/12/26/tres-doberman-hieren-pareja-gasolinera-elche/1205548.html">sin amp</a>
  10.  
  11. </body>
  12. </html>

recibe.php

Código PHP:
Ver original
  1. <?php
  2. $link = $_SERVER['QUERY_STRING'];
  3. header("Location: $link");
  4. ?>

Funciona de las dos maneras, com amp y sin amp
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #27 (permalink)  
Antiguo 23/02/2012, 05:58
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: De links

Gracias emprear pero creo que zerokilled dio con la solución que es pasar la url con el urlencode y en destino descodificarla con urldecode. Tal cual me funciona y también así lo hace facebook, lo cual me da más confiaza.
Gracias!

Etiquetas: google, links, formulario
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:38.