我正在尝试创建一种语法高亮显示器,用于查看代码并为某些关键字添加粗体。我尝试用<b> keyword </b>
替换给定的关键字,但<b>
标记实际上在段落中可见。我怎样才能真正格式化文本?这是我的代码。
var textbox = $("#textbox")
var code = $("#code")
var patterns = {
"<b> </b>": ["local", "function"]
}
function format(text) {
for (var pattern in patterns) {
for (var keyword in pattern) {
text = text.replace(patterns[pattern][keyword], pattern.replace(" ", patterns[pattern][keyword]))
}
}
return text
}
textbox.change(function() {
code.text(format(textbox.val()))
})
答案 0 :(得分:2)
您的问题是您正在使用text()
方法将任何html实体视为文本。
使用html()
代替,因为您要包含html标记
textbox.change(function() {
code.html(format(textbox.val()))
})