J'utilise tinymce 4.0.1 et il ajoute automatiquement les balises p lorsque vous commencez à taper ou appuyez sur Entrée. Comment puis-je supprimer dynamiquement ces balises p, puis réinsérer le contenu dans l'éditeur.
Tinymce a besoin d'un élément de bloc root , qui est un paragraphe par défaut, pour pouvoir styler le contenu. Donc, la suppression de ces paragraphes ne fera que résumer tout le contenu en un seul paragraphe, car tinymce est obligé de l'utiliser comme élément de bloc racine.
vous devez ajouter la ligne suivante à votre déclaration init
forced_root_block : ""
Donc, votre code complet sera comme ça:
<script>tinymce.init({forced_root_block : "",selector:'textarea'});</script>
Cordialement!
Vous pouvez supprimer la balise "p" en ajoutant forced_root_block : false
à votre configuration tinymce ou masquer la barre d'état par statusbar: false
.
Que diriez-vous
$("p").each(function(){$(this).parent().append($(this).html()); $(this).remove()})
Pouvez-vous simplement modifier ce que TinyMCE met dans la base de données lorsque vous l’affichez? Voir mon post pour le même chose pour Rails .
var str = "{TinyMCE HTML string}"; /* however you get it */
str = str.replace(/^\<p\>/,"").replace(/\<\/p\>$/,"");
Ici, vous supprimez les balises p de début et de fin de l'ensemble TinyMCE HTML lorsque vous l'affichez. Ne plaisante pas avec les autres balises p ou la configuration TinyMCE.
Explication de l’expression regex (supprimée pour faciliter la lecture):
^<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.
J'espère que cela t'aides.
Ajoutez ceci uniquement dans l'appel javascript:
forced_root_block : false
Vous devez ajouter la ligne suivante à votre déclaration init.
forced_root_block : ""
Ajoutez ceci à votre fichier functions.php et à la norme
les balises seront supprimées en ajoutant quelques paramètres au hook tiny_mce_before_init . Si vous voulez voir comment ça marche, lisez la suite de cette page: 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' );
Insérez dans le thème functions.php
le code suivant:
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;
}
Si vous souhaitez remplacer la balise "p" racine par une autre, remplacez false par "div" (par exemple).