我只是想创造类似的东西:
<strong>blah blah</strong>
我一直试图这样做很长一段时间虽然出于某种原因,每当我把代码和预标记他们没有做他们应该做的事情。 他们没有格式化内容 - 我没有看到任何格式,虽然标签没有出现。例如,我写道:
<pre><b>abc</b></pre>
abc看起来并不粗体,但我看不到标签本身。我怎样才能做到这一点? 我不想使用像&amp; fdaf这样的实体;因为我没有写入传入文本
答案 0 :(得分:24)
使用<xmp>
标记。
E.g。
<xmp>
<html>
<body>This is my html inside html.</body>
</html>
</xmp>
您也可以在<xmp>
内添加样式和格式。
答案 1 :(得分:16)
如何按<
和>
替换收到的文本标签应该在源视图中可见,但不能在“普通视图”中显示。
答案 2 :(得分:8)
答案 3 :(得分:7)
像mkluwe所说,你应该使用JavaScript(或服务器端脚本)来正确地转义任何用户输入。这是您可以尝试的另一个JavaScript函数:
String.prototype.escapeHTML = function () {
return(
this.replace(/>/g,'>').
replace(/</g,'<').
replace(/"/g,'"')
);
};
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 '<'
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>