Eliminar las líneas vacías (& nbsp;) cuando el autor actualiza su publicación

2

Cada vez que se agrega una línea vacía entre párrafos utilizando TinyMCE, se agrega la entidad de carácter   .

¿Cómo puedo eliminar el contenido de todas las instancias de este personaje cuando un autor actualiza su publicación ( save_post )?

    
pregunta Christine Cooper 12.03.2014 - 17:05

2 respuestas

7

Lo descubrí, enganchándolo a content_save_pre :

function remove_empty_lines( $content ){

  // replace empty lines
  $content = preg_replace("/ /", "", $content);

  return $content;
}
add_action('content_save_pre', 'remove_empty_lines');
    
respondido por el Christine Cooper 12.03.2014 - 17:16
1

Me gustó su solución, pero podría suceder que "" sea legítimo o esté pensado en alguna parte del contenido más abajo en la estructura del contenido. El problema, al menos para mí, solo ocurre con las líneas adicionales innecesarias y molestas al principio del contenido. Así que decidí ampliar su solución eliminando solo los "espacios que no rompen" adicionales al comienzo del texto antes de que aparezcan más etiquetas:

function remove_empty_lines( $content ){

  // replace empty lines
$contentArr = explode('<',$content,2);
if (count($contentArr)==2) // only then  
{ 
    $contentArr[0] = preg_replace("/&nbsp;/", "", $contentArr[0]);
    $content = $contentArr[0].'<'.$contentArr[1]; 
}  
return $content;
}
add_action('content_save_pre', 'remove_empty_lines');
    
respondido por el davidman77 12.05.2018 - 11:40

Lea otras preguntas en las etiquetas