是否删除帖子末尾的空格?

时间:2011-08-29 作者:a paid nerd

我的作者倾向于在帖子的末尾添加额外的换行符(回车键)和空格(空格键)。有时这会导致屏幕上出现几英寸的额外空白!

当他在Wordpress帖子编辑器中点击“更新”时,有没有办法确保删除额外的尾随空格?

4 个回复
最合适的回答,由SO网友:Rarst 整理而成

快速猜测可能是:

add_filter(\'content_save_pre\', \'trim\');
添加到functions.php 主题或网站中任何适当的地方。

SO网友:UncaJoe

这将阻止在添加到函数时显示尾随的非中断空格,而不会实际修改数据库中的帖子。php(或主题存储用户添加函数的任何地方)。

function trim_post_trailing_whitespace($content){   
// use preg_replace to convert   into an unused character "☺" (ALT 1)
// then use rtrim to remove trailing unused character(s) "☺"
// now use rtrim again to remove trailing whitespace 
// now convert unused character(s) "☺" back into   in case used elsewhere
// Return


    $content = preg_replace("/ /", "☺", $content);
    $content = rtrim($content, "☺");
    $content = rtrim($content);
    $content = preg_replace("/☺/", " ", $content);
    return $content;

/* All the above simplified into a single equation  
    return preg_replace("/☺/", " ", rtrim(rtrim(preg_replace("/ /", "☺", $content), "☺")));   
*/
}

add_filter(\'the_content\', \'trim_post_trailing_whitespace\', 0);
// The \'0\' priority means do this first.

SO网友:john23klipp

这里的“问题”是wordpress将“输入”转换为段落(<;p>)。尾随段落和前导段落会导致较大的空白,使您的设计混乱不堪。wp(wysiwyg)编辑器的设置非常宽敞,这通常会让用户相信内容是干净的。

检查这个非常简单的插件,Space Remover, 它删除了这些意外的段落,并让您可以控制此功能。(如果您希望在某些帖子/页面上使用额外的空间)

SO网友:Ov3rfly

如果您不仅要删除一个而且要删除多个尾随的不间断空格,那么可以使用UncaJoes代码的变体,该变体也使用默认值php rtrim 字符列表。

function trim_post_trailing_whitespace( $content ) {
    $content = preg_replace( \'/&nbsp;/\', \'☺\', $content );
    $content = rtrim( $content, \'☺\' . " \\t\\n\\r\\0\\x0B" );
    $content = preg_replace( \'/☺/\', \'&nbsp;\', $content );
    return $content;
}
add_filter( \'the_content\', \'trim_post_trailing_whitespace\', 0 );

结束

相关推荐

Pagination for query_posts();

我知道有很多像这样的问题,我也读过,但我还是不能让它工作。。。我有这个问题:query_posts(array(\'cat\'=>3,\'posts_per_page\'=>5)); 我只需在中显示以下内容while (have_posts()) : the_post(); 循环如何向此添加分页?我正在尝试添加posts_nav_link(); (我不知道调用我想要的功能是否正确)和显示的链接将我带到http://mysite.com/page/2. 由于它是我的索引页,所以可以不在