Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将某些HTML代码与网页的其余部分隔离开来?_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何将某些HTML代码与网页的其余部分隔离开来?

Javascript 如何将某些HTML代码与网页的其余部分隔离开来?,javascript,jquery,html,Javascript,Jquery,Html,我想允许用户使用HTML标记自定义他们的用户名,而不受限制。 我发现的唯一问题是他们没有关闭标签 例如:(带有未关闭标记的用户名:mynick) 我的尼克:评论文本无辜用户:评论文本 我搜索了一个标签,比如my nick,或者任何强制关闭每个打开的标签的方法,但我并不幸运 预期结果: mynick:注释文本无辜用户:注释文本 有什么聪明的方法可以做到这一点吗?(仅使用HTML或JS/JQuery)如果您有任何不完整的标记,浏览器会自动尝试关闭它(如果您有下面的HTML代码,则不会发生这种情况)。

我想允许用户使用HTML标记自定义他们的用户名,而不受限制。 我发现的唯一问题是他们没有关闭标签

例如:(带有未关闭标记的用户名:
mynick

我的尼克:评论文本
无辜用户:评论文本

我搜索了一个标签,比如
my nick
,或者任何强制关闭每个打开的标签的方法,但我并不幸运

预期结果:

mynick:注释文本
无辜用户:注释文本


有什么聪明的方法可以做到这一点吗?(仅使用HTML或JS/JQuery)

如果您有任何不完整的标记,浏览器会自动尝试关闭它(如果您有下面的HTML代码,则不会发生这种情况)。 如果你看这把小提琴

我在DIV中有HTML作为
Hello World

但是当我从DIV警告HTML时,我得到了
你好,世界

我建议使用jQuery的
.html()
函数或JavaScript的
.innerHTML
来关闭带有标记的html

编辑:

如果用户在文本框中键入它,则创建新元素(而不是将其附加到文档中)将为您完成这项工作

var fix = document.createElement("div");
fix.innerHTML=document.getElementById("test").value;

小提琴:这会让你发疯的。您需要让用户正确设置HTLM的格式,或者严格限制其使用(即使用HTML编辑器,不允许用户输入自己的HTML)。这个问题没有灵丹妙药。也许你可以使用一些降价库。。?这样做会更安全,同时也会考虑最终HTML的正确性。除了自己解析它并应用正确的规则(标签是自动关闭的/包含内容的)之外,这实际上是不可行的。如果您允许用户输入几乎任何内容并将其显示给其他人,那么您就直接打开了脚本注入。当您允许用户键入其名称时,例如:
Billgates
,您如何将其存储在后端?使用PHP mySQL?后端使用Python SQL server。谢谢你的快速回复。起初这似乎是一个微不足道的问题。