【问题标题】:Weird output from W3Validator escaping URLW3Validator 转义 URL 的奇怪输出
【发布时间】:2012-10-04 11:44:40
【问题描述】:

早上好,

我正在修复网站中的错误并使用灯箱参数转义 URL 被证明是一项艰巨的任务......已经尝试了所有但似乎无法抓住这个......

W3 验证器给了我这个(验证器感知 &、[ 和 ] 字符):

 Error Line 130, Column 222: Bad value processa-watermark.php?id=TDJodmJXVXZhbUp0TDNCMVlteHBZMTlvZEcxc0wybHRZV2RsY3k5amIyNTBaWFZrYjNNdlNHVnlZbUZ5YVc4d015NXFjR2M9&lightbox[iframe]=true&lightbox[force]=image for attribute href on element a: Illegal character in query component.

 …e&amp;lightbox&lsqb;force&rsqb;=image"><img src="processa-imagem.php?src=TDJod…

  Syntax of IRI reference:
Any URL. For example: /hello, #canvas, or http://example.org/. Characters should be represented in NFC and spaces should be escaped as %20. 

但在我的代码中,我已经转义了那些字符:

<div class="imagem imagemEsq">
<a class="lightbox" href="processa-watermark.php?id=TDJodmJXVXZhbUp0TDNCMVlteHBZMTlvZEcxc0wybHRZV2RsY3k5amIyNTBaWFZrYjNNdlNHVnlZbUZ5YVc4d01pNXFjR2M9&amp;lightbox&lsqb;iframe&rsqb;=true&amp;lightbox&lsqb;force&rsqb;=image"><img src="processa-imagem.php?src=TDJodmJXVXZhbUp0TDNCMVlteHBZMTlvZEcxc0wybHRZV2RsY3k5amIyNTBaWFZrYjNNdlNHVnlZbUZ5YVc4d01pNXFjR2M9&amp;zc=1&amp;w=350&amp;q=90" width="350" height="263" alt="Arquivos do Herbário" /></a>
</div>

问题也很可能出在这段代码中(这是另一张图片)

<div class="imagem imagemDir">
<a class="lightbox" href="processa-watermark.php?id=TDJodmJXVXZhbUp0TDNCMVlteHBZMTlvZEcxc0wybHRZV2RsY3k5amIyNTBaWFZrYjNNdlNHVnlZbUZ5YVc4d015NXFjR2M9&amp;lightbox&lsqb;iframe&rsqb;=true&amp;lightbox&lsqb;force&rsqb;=image"><img src="processa-imagem.php?src=TDJodmJXVXZhbUp0TDNCMVlteHBZMTlvZEcxc0wybHRZV2RsY3k5amIyNTBaWFZrYjNNdlNHVnlZbUZ5YVc4d015NXFjR2M9&amp;zc=1&amp;w=250&amp;q=90" width="250" height="333" alt="Um livro de registos do Herbário" /></a>
</div>

谁能启发我:/

提前致谢!

【问题讨论】:

    标签: php html url w3c w3c-validation


    【解决方案1】:

    应该是:

    <div class="imagem imagemDir">
    <a class="lightbox" href="processa-watermark.php?id=TDJodmJXVXZhbUp0TDNCMVlteHBZMTlvZEcxc0wybHRZV2RsY3k5amIyNTBaWFZrYjNNdlNHVnlZbUZ5YVc4d015NXFjR2M9&amp;lightbox%5Biframe%5D=true&amp;lightbox%5Bforce%5D=image" width="250" height="333" alt="Um livro de registos do Herbário" /></a>
    </div>
    

    参考:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm

    【讨论】:

    • 现在它给了我 4 个错误(全部带有 & 符号)当我遇到 & 问题时,我将所有错误都转为 & ...并且工作认为它也应该适用于所有 [ 和 ] 所以我也这样做了。
    • 是的,我忘记考虑与号了...代码已更新
    • 修复了它! :) 谢谢队友!
    • 是的,需要 %-encoding。使用例如&amp;lsqb; 根本没有帮助,因为它只是在 HTML 源代码中输入 [ 的一种方式,不会影响 URL 的规则;并且许多浏览器根本无法识别它(这是一个没用的 HTML5 新奇事物)。
    • 本着这种精神... [和 ]也不适用于验证?我只是猜测......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2021-12-03
    • 2015-02-18
    • 2011-06-14
    • 2013-06-04
    • 2021-02-08
    相关资源
    最近更新 更多