如何在HTML文档中显示html标签?

时间:2011-03-23 13:59:18

标签: html pre

我只是想创造类似的东西:

<strong>blah blah</strong>

我一直试图这样做很长一段时间虽然出于某种原因,每当我把代码和预标记他们没有做他们应该做的事情。 他们没有格式化内容 - 我没有看到任何格式,虽然标签没有出现。例如,我写道:

<pre><b>abc</b></pre>

abc看起来并不粗体,但我看不到标签本身。我怎样才能做到这一点? 我不想使用像&amp; fdaf这样的实体;因为我没有写入传入文本

8 个答案:

答案 0 :(得分:24)

使用<xmp>标记。

E.g。

<xmp>

<html>
<body>This is my html inside html.</body>
</html>

</xmp>

您也可以在<xmp>内添加样式和格式。

答案 1 :(得分:16)

如何按&lt;&gt;替换收到的文本标签应该在源视图中可见,但不能在“普通视图”中显示。

答案 2 :(得分:8)

您可以使用一些javascript动态更改元素。

如果您使用jQuery

$( 'pre' ).text( $( 'pre' ).html() );

诀窍。

答案 3 :(得分:7)

像mkluwe所说,你应该使用JavaScript(或服务器端脚本)来正确地转义任何用户输入。这是您可以尝试的另一个JavaScript函数:

String.prototype.escapeHTML = function () {                                        
  return(                                                                 
    this.replace(/>/g,'&gt;').
         replace(/</g,'&lt;').
         replace(/"/g,'&quot;')
  );
};
var codeEl = document.getElementById('test');
if (codeEl) {
  codeEl.innerHTML = codeEl.innerHTML.escapeHTML();
}

我没有在IE中对此进行过测试,但它应该在理论上有效。您可以在此页面查看结果:http://jsbin.com/oruri5/2/edit

答案 4 :(得分:4)

我知道最简单的方法是更换&lt;和&gt;与&amp; lt;和&amp; gt;这样它不再是HTML了。还有其他一些类似的代码用于&amp;符号等。

文字来自何处?如果它是在javascript中,那么最简单的方法就是在javascript中进行正则表达式替换。

答案 5 :(得分:1)

写的东西像&amp; fdaf;因为浏览器拒绝相信你的意思是&lt; pre&gt;为了一切。这是正确的行为,否则你将如何逃离&lt; pre&gt;部分?你必须通过文档和每个小于号的替换&amp; lt;。您 不必为大于号或&符号(通常)执行

答案 6 :(得分:1)

请勿使用&lt; xmp&gt;,&lt; plaintext&gt;和&lt; listing&gt;按照MDN的建议使用:

Use the <pre> element or, if semantically adequate, the <code> element
instead. Note that you will need to escape the '<' character as '&lt;'
to make sure it is not interpreted as markup."

正如您在此链接中所看到的:MDN xmp

答案 7 :(得分:0)

以@mkluwe的答案为基础,这是一个例子:

<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">        </script>
  </head>
  <body>
    <pre>
      <a href="http://localhost:3000/l/1/2/3" target="_blank">
        <img src="http://localhost:3000/b/1/2/3/4" target="_blank">
      </a>
    </pre>
    <script>
      $( 'pre' ).text( $( 'pre' ).html() );
    </script>
  </body>
</html>