我经常在PHP中使用双引号,这样我就可以插入变量而不是连接字符串。因此,当我生成HTML时,我经常使用单引号来设置标记字段。例如:
$html = "<input type='text' name='address' value='$address'>";
现在,这对我来说要比
$html = "<input type=\"text\" name=\"address\" value=\"$address\">";
或
$html = '<input type="text" name="address" values="' . $address . '">' ;
在简短的搜索中,我听到有人说HTML字段的单引号并不是每个浏览器都能识别的。因此,我想知道哪些浏览器在识别单引号HTML时会有问题?
发布于 2008-11-07 19:38:52
这类似于When did single quotes in HTML become so popular?。在超文本标记语言中,属性两边的单引号一直是the specification允许的。我不认为任何浏览器不会理解它们。
发布于 2008-11-07 20:52:58
正如PhiLho所指出的,尽管人们普遍认为属性值不允许使用单引号,但这种看法是错误的。
XML standard允许在属性值两边使用单引号和双引号。
XHTML标准没有说明任何要改变这一点的内容,但是相关的一节指出attribute values must be quoted在示例中使用了双引号,这可能导致了这种混乱。这个示例只是指出XHTML中的属性值必须满足XML中属性值的最低标准,这意味着它们必须用引号括起来(与普通HTML相反,后者并不关心),但不会限制您使用单引号或双引号。
当然,您总是有可能遇到不符合标准的解析器,但当这种情况发生时,所有的赌注都会落空。因此,最好的做法就是坚持规范所说的内容。毕竟,这就是我们有规范的原因。
发布于 2008-11-07 20:31:02
不要相信你在网上看到的一切。
有趣的是,我刚刚回答了类似于有人声明单引号在XHTML中无效的问题……
嗯,我一边打字一边看上面的内容,看到Adam N传播了同样的信念。如果他能支持他的肯定,我就收回我写的.AFAIK,XML是不可知的,并接受这两种类型的引用。我甚至尝试并验证了一个只有单引号的XHTML页面,没有问题。
https://stackoverflow.com/questions/273354
复制相似问题