我有一个场景,我有字符串'<'在里面。一个例子是
<a href='#'>foobar</a> foo <bar
使用本机JavaScript(innerHTML
)以及jQuery(.html()
),在尝试将其添加到DOM时,文本包括&lt;被剥夺了
<a href='#'>foobar</a> foo
我试图逃避&#39;&lt;&#39;然而,它也逃脱了<a>
。锚点不是唯一可能存在的html标记,因此我如何以这样的方式处理:我只能编码&#39;&lt;&#39;这不属于任何html实体。
问题的一个例子 - http://jsfiddle.net/ovbg3p8m/
请注意我从其他地方获取整个HTML并且必须使用它。
感谢。
答案 0 :(得分:1)
您可以使用<
代替小于号码。
答案 1 :(得分:1)
使用<
,而不是<
。
答案 2 :(得分:0)
尝试使用HTML名称列here中的相应条目。
答案 3 :(得分:0)
<
是逃避你对这个符号的渴望 关键是要逃避需要转义的内容而不是标记,因为这是你要保留的HTML。
答案 4 :(得分:0)
假设您构建HTML,如:
var text = "foo <bar";
var link_text = "foobar";
var html = '<a href="#">' + link_text + '</a>' + text;
$(".node").html(html);
如果你只是逃避text
和link_text
(但不是html
)你很好。
什么是HTML和什么不是非常重要。
在PHP中,有一个函数htmlspecialchars
用它们的转义表单替换&, ", ', <
和>
:& " ' < >
。这足以避免破坏HTML。
答案 5 :(得分:0)