我使用pre显示代码
code = "#include <stdio.h> int main(){printf("hello world!\n")}"
$(this).html("<pre>"+code+"</pre>");
带是html会把<stdio.h>解析成一个标签,整个代码就乱了,有什么办法不解析这一部分么.
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
<stdio.h>什么字符是敏感的?何时使用
<,何时使用<?要理解这个问题,需要先了解一下HTML构建文档树时期,Tokenize过程中需要被差别对待的五类元素:
area,base,br,col,embed,hr,img,input,keygen,link,menuitem,meta,param,source,track,wbrscript和style.textarea和title.MATHML和SVG的元素。1没有内部文本,4超出了讨论范围,其他元素内部文本的解析规则各不相同:
Raw text elements
<就表示<字符本身,不会被当作 tag open 来解析<不会根据实体字符来转义</script>和</style>RCDATA elements
<就表示<字符本身,不会被当作 tag open 来解析<会被转义为<</textarea>和</title>Normal elements
<会被当作 tag open 来解析<会被转义为<总结出一个
元素内部-输入-输出表格既是:所以,在
<pre>(即Normal Element)内部,<被解析作Tag Open,因此需要额外转义。ref:
我是这样做的
在我的上下文里面是满足了……