有人记得这个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>