最近,我看到了很多这样的东西:
<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中使用单引号是否有效?正如我在上面强调的那样,这也是有问题的,因为您必须转义撇号。
Answers:
使用单引号肯定是有效的(HTML 4.01,第3.2.2节)。我还没有注意到这种趋势,但是也许有一些框架可以驱动您访问的网站,而这些框架恰好使用单引号进行引用。
我发现在使用使用双引号字符串文字的编程语言动态生成HTML时,使用单引号非常方便。
例如
String.Format("<a href='{0}'>{1}</a>", Url, Desc)
使用PHP生成HTML时,可以更轻松地执行以下操作:
$html = "<img src='$url' />";
而不是将字符串与带有字符串的变量连接在一起,因为PHP会解析双引号字符串中的变量。
$html = '<img src="'.$url.'" />'
sprintf('<img src="%s" />', $url)
要嵌入双引号,会更容易。
Reponse.Write(String.Format("<script src='/js/myjs.js?{0}' type=text/javascript></script>", MakeUniqueStringFun()));
如果这个示例不能像这样很好地工作,那么它将更好:<script src='/js/myjs.js?<%=MakeUniqueStringFun()%>' type=text/javascript></script>
但是,一个示例的正确性实际上并不比另一个示例正确,并且显然,使用后面的方法,较长的JS代码片段变得笨拙。
单引号在(X)HTML中是完全合法的。另一方面,不是使用反斜杠将其转义。是带有替代文本“ Ross \”,为空和/属性的图像。在HTML中转义撇号的正确方法是。<img src='http://widget-site-example.com/ross.jpg' alt='Ross\'s Widget' />
s
Widget
Widget'
'
在PHP中,echo采用倍数参数。因此,如果要忽略连接运算符,他们可以做类似的事情,并且仍然使用双引号:
echo '<input type="text" value="', $data, '" />';
什么反对单引号?
您可以在html代码中使用单引号/双引号,而不会出现任何问题,只要您在当前标记中保持相同的引号样式(许多浏览器甚至都不会对此表示抱怨,并且验证只是希望您以引用,以相同的结尾,以相同的方式结束)
免费支持随机报价样式!!!(是的; D)
我知道这是一个旧线程,但仍然非常重要。
如果要控制生成的HTML中的引号,则可以使用PHP中的sprintf()函数(以及许多其他语言中可用的类似调用):
$html = sprintf('<a href="%s">%s</a>', $url, $text);
使用sprintf()可以通过从数据库或配置文件或通过转换机制检索格式字符串来轻松地对其进行修改。
它非常易读,并且允许在生成的HTML中使用双引号或单引号,而且几乎没有更改,并且绝对不能转义:
$html = sprintf("<a href='%s'>%s</a>", $url, $text);