25

我使用的是 tinymce 4.0.1,当您开始输入或按 Enter 时,它会自动添加 p 标签。如何动态删除这些 p 标签,然后将内容重新插入编辑器。

4

11 回答 11

57

您需要将以下行添加到您的 init 语句

forced_root_block : ""

因此,您的完整代码将如下所示:

    <script>tinymce.init({forced_root_block : "",selector:'textarea'});</script>
于 2013-09-10T18:43:49.127 回答
16

Tinymce 需要一个根块元素,默认情况下是一个段落,以便能够对内容进行样式设置。因此,删除这些段落只会导致所有内容被包装到一个段落中,因为 tinymce 被迫将其用作根块元素。

于 2013-07-01T09:38:58.510 回答
7

forced_root_block : false您可以通过添加到您的 tinymce 设置来删除“p”标签,或者您可以通过以下方式隐藏状态栏statusbar: false

于 2017-01-23T11:31:09.017 回答
2

怎么样

$("p").each(function(){$(this).parent().append($(this).html()); $(this).remove()})
于 2013-06-29T04:55:06.280 回答
2

仅在调用 javascript 中添加:

forced_root_block : false
于 2017-04-01T22:05:15.097 回答
1

您需要将以下行添加到您的 init 语句中。

forced_root_block : ""
于 2015-10-29T10:07:13.503 回答
1

您可以在显示时简单地调整 TinyMCE 放入数据库的内容吗?有关Rails 的相同内容, 请参阅我的帖子。

var str = "{TinyMCE HTML string}"; /* however you get it */
str = str.replace(/^\<p\>/,"").replace(/\<\/p\>$/,"");

在这里,您将在显示整个 TinyMCE HTML删除它的开始和结束 p 标记。不会与其他 p 标签或 TinyMCE 配置混淆。

正则表达式的解释(为了便于阅读,删除了 \'s):

^<p> - find <p> at the start of the string (^) and replace it with nothing.
</p>$ - find </p> at the end of the string ($) and replace it with nothing.

希望这可以帮助。

于 2016-02-28T02:23:32.827 回答
0

将此添加到您的 functions.php 文件和标准

将通过向 tiny_mce_before_init 钩子添加一些参数来删除标签。如果您想了解它是如何工作的,可以在此页面上进一步阅读: https ://codex.wordpress.org/TinyMCE

////////////////////////////////////////////////////////////////////////
//////////REMOVE STANDARD <P> FROM TINYMCE EDITOR/////////////////////////
///////////////////////////////////////////////////////////////////////
function my_format_TinyMCE( $in ) {
$in['forced_root_block'] = "";
$in['force_br_newlines'] = TRUE;
$in['force_p_newlines'] = FALSE;
return $in;
}
add_filter( 'tiny_mce_before_init', 'my_format_TinyMCE' );
于 2017-02-10T10:32:33.473 回答
0

您在寻找:forced_root_block:'',force_br_newlines:true,force_p_newlines:false,

于 2020-04-08T01:25:39.257 回答
0

在主题functions.php中插入以下代码:

add_filter('tiny_mce_before_init', 'my_switch_tinymce_p_br'); 

function my_switch_tinymce_p_br($settings) {
    $settings['forced_root_block'] = false;
    return $settings;
}

如果您想将根“p”标签替换为其他标签,请将 false 替换为“div”(例如)。

于 2016-09-09T18:15:59.647 回答
-6

如果你使用 jQuery 可以这样做:

$("p").remove();
于 2013-06-29T04:10:45.113 回答