我正在尝试从来自文本编辑器 #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(/</g,'<').replace(/>/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"><p>Hello World!</p></div>