我想展示一段代码示例,但不希望标签被解析?
Xmp标签可以正常工作:
<xmp>
...code...
</xmp>
更新时间: 截止到撰写此文,所有主流浏览器仍然支持此方法,但正如其他用户所指出的那样,在HTML5中已正式将其废除 [链接]。浏览器随时可能停止渲染它,而不提前警告或通知,因此应避免在生产网站中使用该方法。尽管如此,目前没有任何替代方法,除非手动编码字符串或使用iframe技巧。它仍然有一席之地在我个人的实用工具箱中,但我不会考虑为客户使用。
<pre>
标签允许您原样显示带有空格和换行符的文本。此外,代码必须进行实体编码:
例如,代码示例:
<html>
<head><title></title></head>
<body></body>
</html>
将会变成什么?
<pre><html>
<head><title></title></head>
<body></body>
</html></pre>
<
转换为 <
,&
转换为 &
在 PHP 中可以使用 htmlentities
函数来实现:
<pre><?php echo htmlentities($code) ?></pre>
<textarea>
也可以完成这个任务:它还允许代码被复制。
<pre>
只会影响格式。 - Chuck<html>
转换为<html>
)。 - ChrisW<code>
标签。>
表示大于符号,使用<
表示小于符号。尝试:
<xmp></xmp>
或者
<code></code>
例如:
<pre>
<xmp><!-- your html code --></xmp>
</pre>
<pre>
<code><!-- your html code --></code>
</pre>
再见
如果您正在使用XHTML的<!DOCTYPE>
声明,那么您可以使用CDATA
部分:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>My Example</title>
</head>
<body>
<h1>Example!</h1>
<pre><code>
<![CDATA[
<div>
<ol>
<li>a</li>
<li>b</li>
<li>c</li>
</ol>
</div>
]]>
</code></pre>
</body>
</html>
.xhtml
文件扩展名,并考虑使用 Content-Type: application/xhtml+xml
头来提供这些文档。Content-type
HTTP头部是关键。 - Ilya Streltsyn我唯一能想到的就是将所有的“<”和“>”分别转换为“<”和“>”
除了将您的代码放在“pre”标签中并转义“<”和“>”之外,您可能还想查看语法高亮。这方面的一个很好的库是由Alex Gorbatchev编写的。
如果您正在使用PHP,请通过htmlspecialchars()运行要显示的HTML以正确转义要显示的代码。不要使用htmlentities(),因为您的浏览器会对扩展字符产生问题。只需确保页面的编码在<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
中正确设置,例如输出UTF-8
。
祝好运。
<textarea class="form-control" rows="25">
<form action=".. " method="post" id="postForm">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="name" id="name" value="Customer Name" /></td>
</tr>
</table>
</form>
</textarea>
注意:此处使用的是 Bootstrap 3,如果您想要纯 HTML,请删除 textarea 类和 rows 属性。
xmp
元素已经过时,不要使用它!https://developer.mozilla.org/en/docs/Web/HTML/Element/xmp - mb21