最近我看到很多这样的东西:
<a href='http://widget-site-example.com/example.html'>
<img src='http://widget-site-example.com/ross.jpg' alt='Ross's Widget' />
</a>
在HTML中使用单引号是有效的吗?正如我上面所强调的,这也是有问题的,因为你必须转义撇号。
最近我看到很多这样的东西:
<a href='http://widget-site-example.com/example.html'>
<img src='http://widget-site-example.com/ross.jpg' alt='Ross's Widget' />
</a>
在HTML中使用单引号是有效的吗?正如我上面所强调的,这也是有问题的,因为你必须转义撇号。
单引号生成更清洁的页面,减少混乱。在HTML字符串中不应该转义它们,你可以选择使用哪种... 我通常偏好单引号,如果我需要在字符串中包含单引号(例如作为字符串内部的分隔符),我会使用双引号和单引号。
我知道这是一个老的帖子,但仍然非常相关。
如果你想要对生成的HTML中的引号进行控制,你可以使用PHP中的sprintf()函数(以及许多其他语言中类似的调用):
$html = sprintf('<a href="%s">%s</a>', $url, $text);
使用sprintf()函数可以轻松地从数据库或配置文件中检索格式字符串,或通过翻译机制进行修改。
它非常易读,并且允许在生成的HTML中使用双引号或单引号,几乎不需要任何更改和转义:
$html = sprintf("<a href='%s'>%s</a>", $url, $text);
单引号有什么问题吗?
您可以在 HTML 代码中随意使用单引号或双引号,只要在当前标签内保持相同的引用样式即可(许多浏览器甚至不会对此抱怨,验证只需要如果您以引号开头,则在同一属性内以相同方式结束)
支持任意引用样式的免费支持!!!(耶;D)
有趣的是,即使在今天,一些人仍然坚持“仅使用双引号”的标准,这实际上从来不是一个标准,而只是一种惯例。此外,如果您的语言中有撇号作为自然元素(英语,任何人?),那么更方便,但在我看来,为此增加PHP字符串组合的复杂性是一个过高的代价。
=
)进行赋值的。如果将等号作为值的一部分,显然会造成混淆。 - undefined在你的例子中,只有一个带引号的属性实际上需要引号。
<!-- best form -->
<a href=http://widget-site-example.com/example.html>
<img src=http://widget-site-example.com/ross.jpg alt='Ross's Widget' />
</a>
如果你使用引号,没有硬性规定,但我通常看到的是单引号,必要时内部使用双引号。
使用双引号可能无法通过某些验证器。