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

时间:2017-06-12 07:17:04

标签: jquery html tinymce

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

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

但是当我在数据库表中保存数据时,它看起来很奇怪。 例如。如果我在文本编辑器“hello wold”中编写并使用按钮单击事件,则下面给出的函数将tinyMCE的内容分配给textarea并在表单提交后将其保存到数据库表。数据库表中的值看起来像下面。

<p>Hello World!</p>

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

1 个答案:

答案 0 :(得分:1)

你可以使用replace来制作这个:

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

或者,如果您想要保留标记,则可以使用unescape()函数。

&#13;
&#13;
$(".d").html(unescape($(".d").html()))
&#13;
<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>
&#13;
&#13;
&#13;