Ich verwende Tinymce 4.0.1 und fügt automatisch p-Tags hinzu, wenn Sie mit der Eingabe beginnen oder die Eingabetaste drücken. Wie kann ich diese p-Tags dynamisch entfernen und den Inhalt dann wieder in den Editor einfügen?.
Tinymce benötigt ein root-Blockelement , das standardmäßig ein Absatz ist, um Inhalte formatieren zu können. Das Entfernen dieser Absätze führt also nur dazu, dass der gesamte Inhalt in einen einzigen Absatz verpackt wird, da tinymce diesen als Wurzelblockelement verwenden muss.
sie müssen der Init-Anweisung die folgende Zeile hinzufügen
forced_root_block : ""
Ihr vollständiger Code wird also folgendermaßen aussehen:
<script>tinymce.init({forced_root_block : "",selector:'textarea'});</script>
Grüße!
Sie können das "p" -Tag entfernen, indem Sie forced_root_block : false
zu Ihrem tinymce-Setup hinzufügen, oder Sie können die Statusleiste mit statusbar: false
ausblenden.
Wie wäre es mit
$("p").each(function(){$(this).parent().append($(this).html()); $(this).remove()})
Können Sie einfach anpassen, was TinyMCE in die Datenbank einfügt, wenn Sie es anzeigen? Siehe mein Post für das dasselbe für Rails .
var str = "{TinyMCE HTML string}"; /* however you get it */
str = str.replace(/^\<p\>/,"").replace(/\<\/p\>$/,"");
Hier entfernen Sie den Anfangs- und End-Tag des gesamten TinyMCE-HTML , wenn Sie ihn anzeigen. Verwirrt nicht mit anderen p-Tags oder der TinyMCE-Konfig.
Erklärung des Regex-Ausdrucks (zur Vereinfachung der Lesbarkeit entfernt):
^<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.
Hoffe das hilft.
Fügen Sie dies nur in Javascript hinzu:
forced_root_block : false
Sie müssen Ihrer Init-Anweisung die folgende Zeile hinzufügen.
forced_root_block : ""
Fügen Sie dies Ihrer Datei "functions.php" und dem Standard hinzu
Tags werden entfernt, indem Sie dem tiny_mce_before_init-Hook einige Parameter hinzufügen. Wenn Sie wissen möchten, wie es funktioniert, lesen Sie weiter auf dieser Seite: 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' );
Fügen Sie im Theme functions.php
den folgenden Code ein:
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;
}
Wenn Sie das Root-Tag "p" durch ein anderes ersetzen möchten, ersetzen Sie false durch "div" (zum Beispiel).