true tag span editable javascript html dom tinymce

javascript - tag - ¿Cómo puedo eliminar las etiquetas p que se agregan automáticamente dentro de tinymce?



html span editable (10)

Estoy usando tinymce 4.0.1 y agrega automáticamente las etiquetas p cuando empiezas a escribir o presionas enter. ¿Cómo puedo eliminar dinámicamente estas etiquetas p y luego volver a insertar el contenido en el editor?


¿Puede simplemente ajustar lo que TinyMCE pone en la base de datos cuando lo muestra? Ver mi post para lo mismo para Rails .

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

Aquí está eliminando la etiqueta p inicial y final de todo el código HTML de TinyMCE cuando lo muestra . No se mete con otras etiquetas p o la configuración de TinyMCE.

Explicación de la expresión regular (eliminada para facilitar la lectura):

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

Espero que esto ayude.


Agrega esto solo en javascript llamada:

forced_root_block : false


Agregue esto a su archivo functions.php y al estándar

las etiquetas se eliminarán agregando algunos parámetros al enlace tiny_mce_before_init. Si desea ver cómo funciona, puede leer más en esta página: 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'' );


Debe agregar la siguiente línea a su declaración de inicio.

forced_root_block : ""


Insertar en el tema functions.php el siguiente código:

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 desea reemplazar la etiqueta raíz "p" con alguna otra cosa, reemplace falso con "div" (por ejemplo).


Puede eliminar la etiqueta "p" agregando " forced_root_block : false a su configuración de tinymce o puede ocultar la barra de statusbar: false mediante la statusbar: false de statusbar: false


Qué tal si

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


Si usas jQuery podrias hacer:

$("p").remove();


Tinymce necesita un elemento de bloque raíz , que es un párrafo por defecto, para poder estilizar el contenido. Por lo tanto, si se eliminan esos párrafos, todo el contenido se incluirá en un solo párrafo, ya que se obliga a tinymce a usarlo como elemento de bloque raíz.


necesitas agregar la siguiente línea a tu declaración de inicio

forced_root_block : ""

Entonces, tu código completo será así:

<script>tinymce.init({forced_root_block : "",selector:''textarea''});</script>

¡Saludos!