webentwicklung-frage-antwort-db.com.de

Wie entferne ich p-Tags, die automatisch in Tinymce hinzugefügt werden?

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?.

20
Juan Gonzales

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.

13
Thariama

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!

47
turco_7

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. 

3
Fadel

Wie wäre es mit

$("p").each(function(){$(this).parent().append($(this).html()); $(this).remove()})
2
gnuger

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.

1
Ed Birm

Fügen Sie dies nur in Javascript hinzu:

forced_root_block : false
1
Rodrigo Prazim

Sie müssen Ihrer Init-Anweisung die folgende Zeile hinzufügen.

forced_root_block : ""
1
user3212640

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' );
0
Nateno

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).

0
Mikle Gardener