最近我看到很多这样的东西:
<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 4.01,第3.2.2节)。我没有注意到这样的趋势,但也许你访问的某些网站使用了一些引用单引号的框架。
String.Format("<a href='{0}'>{1}</a>", Url, Desc)
使用 PHP 生成 HTML 时,可以更容易地执行以下操作:
$html = "<img src='$url' />";
使用双引号拼接字符串和变量比直接拼接更好,因为PHP可以解析双引号中的变量。
$html = '<img src="'.$url.'" />'
- JimmyMcHooversprintf('<img src="%s" />', $url)
。 - Koen.有另一种情况需要使用单引号:在数据属性中存储JSON数据:
<tr data-info='{"test":true}'></tr>
JSON对象的键必须用双引号括起来,因此属性本身不能使用双引号。
有些人可能会在PHP中使用它,以避免在双引号字符串中转义“”,或者避免使用字符串连接运算符来解析其中的变量。
例如:
echo "<input type='text' value='$data'/>";
替换
echo "<input type=\"text\" value=\"$data\" />";
echo '<input type="text" value="' . $data . '" />';
如果您想嵌入双引号,这将更容易。
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片段变得难以处理。 - krowe2单引号在(X)HTML中是完全合法的。然而,使用反斜杠来转义它们是不合法的。 <img src='http://widget-site-example.com/ross.jpg' alt='Ross\'s Widget' />
是一张带有alt文本“Ross\”以及空的s
和Widget
/Widget'
属性的图片。在HTML中正确转义撇号的方法是'
。
echo '<input type="text" value="', $data, '" />';
如果您仅支持现代浏览器(IE10及以上),则可以使用HTML5语法,允许单引号、双引号和无引号(只要属性值中没有特殊字符)。HTML5可以在此处进行验证:https://validator.w3.org/nu