php 停止summernote在标记中换行文本< p>< /p>

2lpgd968  于 2023-03-07  发布在  PHP
关注(0)|答案(1)|浏览(238)

我想阻止summernote在插入数据库之前将文本 Package 在段落标签中,特别是文本的第一个开始标签和最后一个结束标签(如果有很多p标签的话),无论是使用summernote配置、php还是jQuery。我见过几个类似的问题,但它们都不能解决我的问题。
任何时候我给一些文本设置样式,summernote会在应用样式之前把文本放在p标签中,或者如果文本是从其他来源复制的,summernote会把文本放在p标签中。如果p标签不包含任何属性,我可以简单地使用str_replace来删除它,但是如果它包含一些属性,比如or或〈p style=“some_style〉,标签就变得很难删除了。
请帮忙谢谢。

mrfwxfqh

mrfwxfqh1#

好吧,我得坦白一件事:我误解了你的标题。我以为你的意思是<p></p>标记中的文本是wrapping,而你不希望这样。相反,你的意思是文本被字面上的<p></p>标记包裹起来。
因为你从来没有尝试解释为什么你要删除<p></p>标记,我从来没有发现这个误解。我 * 仍然不知道 * 为什么你要删除<p></p>标记。
你应该意识到,如果你删除<p style="some_style">...</p>,这也将删除该风格。我怀疑这是否真的是你想要的。
我最好的猜测是<p></p>标签在你的布局中做了一些你不想做的事情。<p></p>标签的默认样式是这样的:

p {
  display: block; 
  margin: 0 0 1em 0; 
}

你可以用你自己的CSS来覆盖这个默认设置。所以如果你在HTML页面的头部添加下面的代码片段,你的<p></p>标签将不会显示任何你不想要的行为。

<style>

p {
  display: inline; 
  margin: 0; 
}

</style>

然而,这将适用于HTML页面中的所有<p></p>标签,也就是说,在summernote编辑器中以及其他任何地方。这也可能是您不想要的。如果是这种情况,您可以使用一个类来选择您想要更改页面中的哪些部分的<p></p>标签,如下所示:

<style>

.summernote-content p {
  display: inline; 
  margin: 0; 
}

</style>

现在嵌套在<div class="summernote-content"></div>标签内的每个<p></p>标签都将使用修改后的样式,而嵌套在<div class="summernote-content"></div>标签外的任何<p></p>标签都不会使用修改后的样式。
一个三个三个一个
请注意<div></div>标记中不再存在边距。
<p></p>标签的任何样式都可以通过这种方式改变,这意味着你不需要移除这个标签。你不应该移除它,因为它是用来保存样式的。

相关问题