我喜欢您的解决方案,但它可能碰巧是在内容结构中的某些部分是合法的或有意的。这个问题——至少对我来说——只会出现在内容开头不必要且令人讨厌的额外行上。因此,我决定扩展您的解决方案,在出现任何其他标记之前,只删除文本开头的额外“nonBreakingSpaces”:
function remove_empty_lines( $content ){
// replace empty lines
$contentArr = explode(\'<\',$content,2);
if (count($contentArr)==2) // only then
{
$contentArr[0] = preg_replace("/ /", "", $contentArr[0]);
$content = $contentArr[0].\'<\'.$contentArr[1];
}
return $content;
}
add_action(\'content_save_pre\', \'remove_empty_lines\');