如何删除 summernote 值中的 <p><br></p> 标签?
How to remove <p><br></p> tags in summernote value?
在 staring 中输入 space 时,我从 summernote textarea 中获取了以下代码,
<p><br></p><p><br></p><p><strong style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;">Lorem Ipsum</strong><span style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;"> is simply dummy text of the printing and typesetting industry. </span><br></p><p><br></p><p><br></p>
但我想在存储到数据库之前删除起始 <p><br></p><p><br></p>
。
例如我想像下面这样存储,
<p><strong style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;">Lorem Ipsum</strong><span style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;"> is simply dummy text of the printing and typesetting industry. </span><br></p>
如果您确定您可以实现类似的模式
var data='<p><br></p><p><br></p><p><strong style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;">Lorem Ipsum</strong><span style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;"> is simply dummy text of the printing and typesetting industry. </span><br></p><p><br></p><p><br></p>';
while(data.startsWith('<p><br></p>')){
data=data.replace('<p><br></p>','')
}
while(data.endsWith('<p><br></p>')){
data=data.replace(new RegExp('<p><br></p>$'),'')
}
console.log(data)
只需删除空元素
$("p").each(function(){
if (!$(this).text().trim().length) {
$(this).remove();
}
});
最好的方法是这样做:
$('.summernote_add').summernote({
height: 250,
callbacks: {
onChange: function (contents) {
if ($('.summernote_add').summernote('isEmpty')) {
$(".add .panel-body").html('');
} else {
$(".add .panel-body").val(contents);
}
// $('.summernote_add').val(
// $('.summernote_add').summernote('isEmpty')
// ? null
// : contents
// );
summernoteValidatorAdd.element($('.summernote_add'));
}
}
});
callbacks: {
onFocus: function (contents) {
if($('.summernote').summernote('isEmpty')){
$(".summernote").html('');
}
}
}
使用以下内容:
$('#summernote').summernote('code', '<text H>');
而不是:
$('#summernote').summernote('editor.insertText', '<text H>'));
这对我有用!必须现在就做
callbacks: {
onFocus: function (contents) {
if($(this).summernote('isEmpty')){
$("<your-selector>").html(''); //either the class (.) or id (#) of your textarea or summernote element
}
}
}
对于jQuery
$('.summernote').summernote({
height: 250,
callbacks: {
onInit: function (c) {
c.editable.html('');
}
}
});
在 staring 中输入 space 时,我从 summernote textarea 中获取了以下代码,
<p><br></p><p><br></p><p><strong style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;">Lorem Ipsum</strong><span style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;"> is simply dummy text of the printing and typesetting industry. </span><br></p><p><br></p><p><br></p>
但我想在存储到数据库之前删除起始 <p><br></p><p><br></p>
。
例如我想像下面这样存储,
<p><strong style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;">Lorem Ipsum</strong><span style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;"> is simply dummy text of the printing and typesetting industry. </span><br></p>
如果您确定您可以实现类似的模式
var data='<p><br></p><p><br></p><p><strong style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;">Lorem Ipsum</strong><span style="font-family: "Open Sans", Arial, sans-serif; text-align: justify;"> is simply dummy text of the printing and typesetting industry. </span><br></p><p><br></p><p><br></p>';
while(data.startsWith('<p><br></p>')){
data=data.replace('<p><br></p>','')
}
while(data.endsWith('<p><br></p>')){
data=data.replace(new RegExp('<p><br></p>$'),'')
}
console.log(data)
只需删除空元素
$("p").each(function(){
if (!$(this).text().trim().length) {
$(this).remove();
}
});
最好的方法是这样做:
$('.summernote_add').summernote({
height: 250,
callbacks: {
onChange: function (contents) {
if ($('.summernote_add').summernote('isEmpty')) {
$(".add .panel-body").html('');
} else {
$(".add .panel-body").val(contents);
}
// $('.summernote_add').val(
// $('.summernote_add').summernote('isEmpty')
// ? null
// : contents
// );
summernoteValidatorAdd.element($('.summernote_add'));
}
}
});
callbacks: {
onFocus: function (contents) {
if($('.summernote').summernote('isEmpty')){
$(".summernote").html('');
}
}
}
使用以下内容:
$('#summernote').summernote('code', '<text H>');
而不是:
$('#summernote').summernote('editor.insertText', '<text H>'));
这对我有用!必须现在就做
callbacks: {
onFocus: function (contents) {
if($(this).summernote('isEmpty')){
$("<your-selector>").html(''); //either the class (.) or id (#) of your textarea or summernote element
}
}
}
对于jQuery
$('.summernote').summernote({
height: 250,
callbacks: {
onInit: function (c) {
c.editable.html('');
}
}
});