有人记得这个XMP
标签吗?
它的用途是什么?为什么不推荐使用它?
Answers:
Google在W3C上的快速搜索显示,XMP
引入该功能是为了显示HTML 3.2及更早版本中的预格式化文本。当W3C弃用该XMP
标签时,它建议使用该PRE
标签作为首选。
更新:http : //www.w3.org/TR/REC-html32#xmp,http : //www.w3.org/MarkUp/html-spec/html-spec_5.html#SEC5.5.2.1
<xmp>
不安全:html5sec.org/#134
XMP
并PRE
有所不同。PRE
标签内的内容格式如下:
如果要在标记中包含<
,>
和&
之类的特殊字符PRE
,必须对它们进行转义,以免浏览器对其进行特殊解释。
相比之下,中的内容XMP
标签就不会需要进行转义。
XMP
标记中不能包含的唯一字符序列是XMP
结束标记(</XMP>
)。
XMP
我测试过的浏览器仍然支持。您可以尝试使用xmp.html。查看源以查看标签。
<plaintext>
和<xmp>
tag都已弃用,因此是不可行的。最好的替代方法是<textarea>
标签。
XMP做一些PRE不支持的事情。我仍然依靠XMP,没有替代品。
<xmp>
忽略HTML标签和实体;<pre>
不。
<textarea />
作为替代品?
<pre><?php echo htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); ?></pre>
<xmp>
与trapdown.js一起使用,以格式化降价标记。该名称trapped结合了术语bootstrap和markdown。
<!DOCTYPE html>
<html>
<title>Example</title>
<xmp theme="united">
## Example
- note one
- note two
- note three
</xmp>
<script src="http://strapdownjs.com/v/0.2/strapdown.js"></script>
</html>
我仍然使用xmp
标记var_dump();
在PHP中进行调试。我只是pre
出于某种原因不记得使用该标签。
我认为这并不重要,因为如果你真的想输出文本,你应该使用textarea
与readonly
属性。
var_dump()
不返回任何内容,因此需要输出缓冲区函数来对其输出进行HTML编码。<xmp>
是编写包装函数的快速替代方法,可在任何地方使用。
var_dump()
此方法会使您容易受到XSS攻击。
看到http://www.w3.org/Bugs/Public/show_bug.cgi?id=12235
对于HTML5。根据HTML5编辑器(第11和12条评论),这两种方法都非常接近。
<xmp style="display:none"><!-- do not remove the plaintext nor xmp tags --><plaintext/><xmp>.</xmp>