我运行一个多作者平台,有1000多名作者。大多数用户从外部编写内容(Microsoft Word、OpenOffice等),并将其粘贴到可视化编辑器中。大约20%的文章在每个句点后都有一个双空格。
用户的反馈告诉我,这些程序的某些版本在句号后添加了两个空格,而不是一个空格。我最初将这些用户链接到如何在外部应用程序本身中解决这一问题的教程,但是平台的增长使这成为一项令人费解的任务。
Is there a way to remove all double spaces and convert them into single space on the post page? 可能在单击“发布”时。如果它发生在后端的帖子页面而不是前端(通过一些样式调整),那将是理想的——尽管我对想法持开放态度。
就我个人而言,考虑到至少20%的作者都在体验这一功能,我发现这一功能并不是Wordpress核心功能的一部分,这一点非常令人惊讶。
SO网友:fuxia
我无法提供JavaScript解决方案,因为我不确定这到底发生在哪里。
但是…我们可以wp_insert_post_data
并用PHP解决此问题:
add_filter( \'wp_insert_post_data\', \'t5_strip_double_spaces\', 20 );
function t5_strip_double_spaces( $data )
{
$data[\'post_content\'] = preg_replace(
"~( \\x{C2}\\x{A0}|\\x{C2}\\x{A0} )~m",
\' \',
$data[\'post_content\']
);
return $data;
}
作为
plugin on GitHub.