如何使用 Jquery 编码以从文本编辑器中提取或转义一些特定的 html 标记



我正在尝试从来自文本编辑器 #Textarea 的字符串中删除一些特定的 html 标签。我有一个文本区域,其中在按钮单击事件中。我获取了文本编辑器的所有内容,并希望将内容分配给另一个 HTML 标签。但是在分配之前,我想删除一些HTML元素,或者换句话说,只想允许HTML标签(p,列表,表(。我正在使用tinyMCE文本编辑器,我的按钮单击事件功能是

 function AssignContents() {
  // takes the specific tag ID 
 var ref=$('.data_button').attr('data_id');
    var textEditorContent = tinyMCE.activeEditor.getContent();
    $('#'+ref).html(textEditorContent);
}

但是当我将数据保存在数据库表中时,它看起来很奇怪。例如。如果我在文本编辑器中编写"hello will"并使用按钮单击事件,则下面给定的函数会将tinyMCE的内容分配给文本区域,并在表单提交并将其保存到数据库表后。数据库表中的值类似于波纹管。

<p>Hello World!</p>

但我只希望<p>hello world </p>存储在数据库中,而不是其他东西。谢谢!

您可以使用替换来制作:

$('#'+ref).html(textEditorContent.replace(/&lt/g,'<').replace(/&gt/g, '>'));

或者,如果您想要保留标签,您可以使用unescape()功能。

$(".d").html(unescape($(".d").html()))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="d">&lt;p&gt;Hello World!&lt;/p&gt;</div>

最新更新