php - How-to XHTML 1.1 在不转义符号的情况下验证它?

标签 php validation xhtml entity

我的问题如下。我有一个包含表单和输入字段的 XHTML 1.1 页面。其中一个输入字段包含一个 URI 值。此 URI 包含以和号 (&) 作为参数分隔符的键值对,将由浏览器中的另一个 Web 应用程序作为 GET 请求传递。

通常我会使用实体 & 来创建 & 符号来验证代码是否为 XHTML 1.1。我的问题是应用程序没有收到 GET 请求,因为(正如预期的那样)浏览器不理解如何处理 URI 中的 &

所以我的问题实际上是如何在不使用 HTML 实体的情况下编写 & 符号,以便浏览器仍然将其识别为参数分隔符,并将 GET 请求正确传递给网络应用程序。

我尝试使用十六进制 (%26) 对 & 符号进行编码,但浏览器仍然无法将其“翻译”回正确的 & 字符。

一个相关的问题,但它没有提供我所问问题的确切答案:

XHTML and & (Ampersand) encoding

最佳答案

如果不使用实体,就无法在属性值中包含与字符。

如果不使用实体或 CDATA 标记,就无法将 & 字符作为文本节点包含在内(但我敢打赌,您将用作文本/html,因此您不能使用它们)。

就是说——任何无法解码实体的浏览器都是坏的。那里没有主流浏览器失败。您使用的是模糊且损坏的浏览器,或者误诊了问题。

关于php - How-to XHTML 1.1 在不转义符号的情况下验证它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2061031/

相关文章:

jquery - 使用 jQuery 组合多个动画的正确方法是什么?

css - pdf 2 xhtml/css

php - 将 javascript 合并到 php 中的最佳方法?

php - 区分 ISBN-10 和 ISBN-13 的正则表达式

javascript - 多文化、不引人注目的日期验证

CSS Noob 真的可以在布局和定位方面使用一些熟练的帮助

php - SQL 查询(在两个表之间删除)

php - mysql_fetch_array

php - 如何使用资源逐行写入但仍然使用 Laravel 的内置存储?

c# - 验证货币输入的最佳方式?