Javascript 将html标记显示为文本
我正在为我的网站制作一个小的html编辑器 我的编辑 标签 问题是您不能在Javascript 将html标记显示为文本,javascript,jquery,html,editor,Javascript,Jquery,Html,Editor,我正在为我的网站制作一个小的html编辑器 我的编辑 标签 问题是您不能在之间执行html代码片段 Html代码需要在之间显示为文本,而不是Html本身 外部其他标记需要显示为html尝试添加以下行: text=text.replace(//g,”); 这会将字符替换为大于号的HTML变体,请尝试使用以下方法: 函数textarea\u post(){ var text=$(“.editor”).val(); text=text.replace(//code>/g,“”)。replace(
之间执行html代码片段Html代码需要在
之间显示为文本,而不是Html本身
外部
其他标记需要显示为html尝试添加以下行:
text=text.replace(//g,”);
这会将
字符替换为大于号的HTML变体
,请尝试使用以下方法:
函数textarea\u post(){
var text=$(“.editor”).val();
text=text.replace(//code>/g,“”)。replace(//g,“”);
$(“.results”).html(文本);
$(“.results pre”).each(函数(){
var escapedText=$(this.html();
$(this).text(escapedText);
});//
}
$(“.editor”).on(“向下键向上键粘贴”,函数(e){
textarea_post();
});代码>
我认为你想做的大部分事情都可以通过css来完成;你的javascript看起来不错;但您的html需要稍作调整,因为中心标记已被弃用,并且在html中不受支持
查看此代码段或(只需按文本区域末尾的enter键)
编辑:更新以包含来自Mohit的更好的脚本,但请注意中心标记
函数textarea\u post(){
var text=$(“.editor”).val();
text=text.replace(//g,“
例1
函数MyFunction(a,b){
返回a+b;
}
MyFunction(5,10)
你好
尝试使用$(“.results”).text(text);
而不是$(“.results”).html(text);
我需要使用$(“.results”).html(text)
因为´´之外的其他标记需要显示为html,如我的´´示例´请检查我的更新答案。我用几个示例字符串对其进行了测试,似乎效果良好。是的,可以,但只需要替换hmm内的标记是的,因为只有谢谢@RachelGallen:)如果您尝试在标记之间编写html代码片段,它将消失。例如´
´它需要在结果中将
标记显示为文本如果您慢慢编写html代码,您可以看到它发布@Tonza,我认为这可能是最好的选择。用户只需要不时地进行代码预览好的,只需发布一个便笺,按enter键即可预览
<textarea class="editor"></textarea>
<div class="results"></div>
function textarea_post(){
var text = $(".editor").val();
text = text.replace(/<code>/g,"<pre>").replace(/<\/code>/g,"</pre>");
$(".results").html(text);
}
$(".editor").on("keydown keyup paste",function(e){
textarea_post();
});
text = text.replace(/</g,"<").replace(/>/g,">");