![]() |
URL con ampersand en XHTML
Pues verán: estoy traduciendo, poco a poco, mis páginas para que utilicen XHML. He terminado una de las páginas pero el validador del 3WC me dice que hay un error en la siguiente línea:
Código PHP:
|
Hola,
Bueno. Yo tengo ese problema ahora mismo en Loturak. Sería interesante que alguien pudiera arrojar algo de luz sobre este tema, puesto que lo tengo, ciertamente, un poco abandonado, sin duda, porque mientras se está en una cosa no puede estarse en la otra. Empero, no creas que no me preocupé de buscar alguna solución. Y, de hecho, si lo dejé un poco de lado es porque llegué a algo un tanto extraño... me explico. Las páginas de Loturak suelen validar (nos preocupamos de ello y revisamos que esto es así regularmente) y no lo hacen, por el problema que dices, únicamente algunas páginas. Verás. En algunas páginas en donde se "imprimen" URLs como la que mencionas utlizamos algo así previamente: Código PHP:
Son las URLs de algunos enlaces los que "rompen" la validación del código, no es código de la propia Loturak, sino que son las URLs de los enlaces que se añaden a la aplicación por los usuarios de la aplicación. Pues bien, aunque se sigue el mismo proceso: Código PHP:
PD. Ojo, he separado la entidad HTML con la que sustituimos el "ampersand" de la URL porque de lo contrario no saldría como queremos en el mensaje, o sea aquí, sino que saldría el propio "ampersand" que representa dicha entidad HTML. Si vas a probarlo quita los espacios a & # 3 8 ; |
Gracias Dec. Ya está arreglado poniendo el &#...;
Pero no acabo yo de pillar los problemas que tenéis en Loturak... |
Hola,
Cita:
Bueno. Tal vez estamos pasando algo de largo... o existe otra solución más apropiada... tenemos que mirarlo. :D |
Hice una pequeña búsqueda en Google sobre el problema y encontré esto:
Cita:
Código PHP:
|
Hola,
Excelente Maeyanes. Ya lo estoy probando. ;) PD. Y el caso es que me parece recordarlo... |
Hola,
Bueno. Pues parece que va de perilla. Muchas gracias Maeyanes. ;) http://validator.w3.org/check?uri=http://www.loturak.es |
Hola,
Bueno... el agradecimiento sigue en pie, ¿eh? Que conste. ;) Sin embargo,... sigue dándose el mismo problema... sin duda algo se nos está escapando, puesto que el texto que has puesto antes Maeyanes parece claro. Habrá que mirarlo más detenidamente. ;) http://validator.w3.org/check?uri=ht.../compartir?p=2 |
Bueno, acabo de validar a loturak, usando el enlace que pusiste y pasó... :p
Ahora, revisando el código XHTML de loturak, veo que tienes algo como esto: Código PHP:
Saludos... Editando: Me acabo de dar cuenta que la regué feo... xDDD Por alguna razón confundí el ? del código con un &... :P Dado esto, todo lo anterior no tiene mucho caso... |
Hola,
No; el caracter que ves en el "href" es un signo de interrogación, no un "ampersand" (a mí también me ha parado eso, no creas). El caso es que no entiendo qué puede pasar por lo que he comentado: en unos sitios funciona y en otros no. Pero, he comprobado que lo que llega al "validador" son las entidades HTML de los "ampersand", o sea, que debería ir bien... o algo se está escapando por ahí, que es lo más seguro, claro. :) Es curioso y no sé si estará feo decirlo, pero, el caso es que Loturak valida, esto es, hasta donde sabemos lo único que falla es este tema, y por eso, aparentemente, acaso debería ser más sencillo darse cuenta de dónde está el problema, pero, ya ves... :D Gracias otra vez Mayenaes por el interés. |
Si, me di cuenta después de publicado el mensaje... xDDD
Por eso la pequeña aclaración que puse... ahora... volviendo al tema que nos interesa: Código PHP:
Saludos... |
Lo que hay que hacer para satisfacer a los validadores. Pabernosmatao!
|
Hola,
Efectivamente, has dado en el clavo de nuevo: esas URLs no estaban siendo "tratadas", empero, aún así, después de hacerlo, seguían produciéndose errores... pues bien, fijándome un poco más en el mensaje de error que proporcionaba en este caso el "validador", me encuentro con esto: Ampersands, PHP Sessions and Valid HTML... veremos a ver, porque el "validador" dice, literalmente, que es la solución al problema. ;) |
Hola,
Cita:
No creas, ha estado interesante todo esto, o a mí me lo ha parecido. Por otro lado, parece que el invento del artículo mencionado antes funciona: la siguiente página de Loturak contiene URLs que cuentan con los "ampersand" famosos y ya no da errores: http://validator.w3.org/check?uri=ht.../compartir?p=3 He seguido la solución que dan en el artículo, creo, que, al pie de la letra. He añadido al ".htaccess" del directorio "raíz" de Loturak este par de líneas: Código:
# http://www.w3.org/QA/2005/04/php-session PD. A ver si en verdad funciona... porque, ¡hay que ver la guerra que ha dado! Je, je, je. :D |
Cita:
Pero en realidad, lo que me intriga es por qué, siendo el uso del & tan viejo como Matusalén, cuando se diseñó el estandar del xhtml, no se tomó en cuenta eso. Obligar a escribir & amp ; en cada enlace, en lugar de simplemente & me parece por demás ocioso. (no ustedes, los que hacen estos estándares) // Saludos |
Hola,
Cita:
Cita:
PD. Y esto sin contar el tema del "hack" en PHP... las líneas en el ".htaccess", etc. Uno piensa que acaso otros lenguajes similares a PHP tengan el mismo problema... y acaso su propia forma de solucionarlo... |
Bueno, según el W3C: XML-based user agents will not tolerate this incorrect usage, and any document that uses an ampersand incorrectly will not be "valid", and consequently will not conform to this specification..
Tal vez el problema sean los navegadores que no siguen al 100% el estándar... Saludos... |
Hola,
Cita:
PD. Véase el artículo de Pedro Palazón: Técnicamente inmoral Quiero resaltar lo que dice de que cuesta lo mismo hacer una página que "valide" que una que no valide. Yo me atrevería a decir que cuesta menos hacer una página que "valide" que una que no valide. Y lo digo por experiencia, vamos. Y no me las quiero yo dar aquí de super nada... es simplemente lo que creo que ocurre. :) |
Cita:
Y, en muchos casos puedo ser como dec, es "bonito" que algo te diga que tu código es válido, pero a veces me prgunto si no nos entretenemos demasiado con eso, siendo que esos organismos que establecen los estándares no son siempre muy atinados. Baste ver que media humanidad ya usa Ajax, y aún no pueden establecer un mísero estándar. // Saudos |
Cita:
// Saludos |
La franja horaria es GMT +2. Ahora son las 02:21:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi