Javascript查找和替换

时间:2016-10-07 07:35:16

标签: javascript jquery html

我为我的团队制作了一个小代码生成器

这很简单,你只要填写字段和&它有效地在下面的DIV中进行查找和替换,并显示新代码应该是什么。太棒了!

我遇到的问题是,为了让代码在屏幕上显示为明文,我必须用下面的代码替换所有特殊字符(例如& lt)

enter image description here

手动复制和粘贴时,这不是问题。但是,我有一个复制DIV内容并导出到.html文件的按钮。

然后不执行代码,因为它复制了实际内容(包括缺少特殊字符)。

导出时有没有办法让这段代码运行?是否有一个简单的功能可以在导出之前将其切换回原始代码?

代码生成器实际上有很多查找和替换来输入用户定义的变量,如下所示:

[code]function findMyText2(needle2, replacement2) {
 if (haystackText.length == 0) {
      haystackText = document.getElementById("haystack").innerHTML;
 }
 var match = new RegExp(needle2, "ig");     
 var replaced = "";
 if (replacement2.length > 0) {
      replaced = haystackText.replace(match, replacement2);
 }

 else {
      var boldText = "<div style=\"background-color: yellow; display: inline; font-weight: bold;\">" + needle2 + "</div>";
      replaced = haystackText.replace(match, boldText);
 }
 document.getElementById("haystack").innerHTML = replaced;
 haystackText = document.getElementById("haystack").innerHTML;

要编辑的完整代码是: enter image description here

提前谢谢。

1 个答案:

答案 0 :(得分:0)

从我对这个问题的理解,你基本上需要解开div的内容。这是你如何做到的。

HTML

<div style="display:none" id="dummy"></div>

JQuery的

var decoded = $("#dummy").html(encoded).text();

此代码将“dummy”div的内部HTML设置为编码,这使得jquery对其进行解码。然后text()只返回解码的代码。

有关详细信息,请参阅此处 - Javascript decoding html entities