Удалите лишний p-тэг в tinyMCE

При копировании и вставке из текстового документа в редактор tinyMCE иногда появляются нежелательные теги <p>:

<p>&nbsp;</p>
<div class="starpasspro-example-question">
   <p><strong>Example: Levels of strategy</strong></p>
   <p>Microsoft is one of the world&rsquo;s largest organisations, providing corporate solutions to businesses throughout the world to help them realise their fullest potential. At Microsoft, there are three levels of strategy as follows:</p>
</div>
<p>&nbsp;</p>

Здесь код, который генерирует, я хочу удалить теги <p> любым способом сделать это?

Ответ 1

Добавьте эти строки в tinymce.init({ });

Пример:

tinymce.init({
    forced_root_block : "", 
    force_br_newlines : true,
    force_p_newlines : false,
});

Ответ 2

это будет полезно.

Добавьте в свой файл tinymce.yml

forced_root_block : "" 

force_br_newlines : true

force_p_newlines : false

Ответ 3

Да, это возможно. Существует безопасный способ удалить все элементы html, которые вы хотите удалить (вы можете определить, что сохранить). Это с помощью параметров конфигурации tinymce paste_preprocess и пользовательской функции strip_tags. Проверьте здесь.

Ответ 4

Добавьте это в свой файл functions.php и стандартные p-теги теги будут удалены, добавив некоторые параметры в tiny_mce_before_init hook. Если вы хотите посмотреть, как это работает, вы можете прочитать дальше на этой странице: 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' );