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

Ari*_*iel 13 html pre

我只是想创造这样的东西:

<strong>blah blah</strong>
Run Code Online (Sandbox Code Playgroud)

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

<pre><b>abc</b></pre>
Run Code Online (Sandbox Code Playgroud)

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

Fuz*_*sis 24

使用<xmp>标签.

例如

<xmp>

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

</xmp>
Run Code Online (Sandbox Code Playgroud)

您也可以在里面添加样式和格式<xmp>.

  • 这是[已废弃](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/xmp) (8认同)
  • 嘿这个有效!与以上所有断言相反,您*有*做正则表达式或替换! (2认同)

Sco*_*hic 17

如何用&lt;和替换传入的文本&gt;.标签应该在源视图中可见,但不是"在普通视图中".

  • 感谢downvote ...我的回答完全没有错.否则,这是不可能的.所以你喜欢downvote.没有办法用`&lt;`和`&gt;`替换<和> (3认同)

mkl*_*uwe 9

您可以使用一些JavaScript来动态更改元素.

如果你使用jQuery:

$( 'pre' ).text( $( 'pre' ).html() );
Run Code Online (Sandbox Code Playgroud)

诀窍.


met*_*ida 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();
}
Run Code Online (Sandbox Code Playgroud)

我没有在IE中测试过这个,但它应该在理论上有效.这是一个页面,您可以在其中查看结果:http://jsbin.com/oruri5/2/edit


sil*_*com 5

我知道的最简单的方法是将 < 和 > 替换为 < 和> 这样它就不再是html了。还有其他一些代码,例如 & 符号等。

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