WordPress 实现中英文自动添加空格

/ 1,199 阅读 / 0

每次发文的时候都有一个步骤需要操作,那就是检查中英文之间的空格是否添加,毕竟写文的时候常会中英文穿插着写。

如果不添加这个空格,整体排版看起来就十分的拥挤,即便像 《微软雅黑在 WordPress 前端显示字符间距实践》文中所说的调整了字符间距,还是不舒服。

[fa_insert_post ids=403]

既然如此,那就用这里简单的介绍两个方法来解决这个问题。

方法 #1

在插件里面搜寻:Space Lover ,并且安装,启用就可以了。

Space-Lover

使用这个方法的好处就是主题升级的时候,这个功能不会受到影响。

方法 #2

这个是直接通过 functions 来实现。添加这个代码到 functions.php 后刷新文章就可以了。它不直接写入数据库,而是在 WordPress 输出文章内容的时候执行的。

代码如下:

//WordPress 文章中英文数字间自动添加空格
add_filter( 'the_content','fanly_post_content_autospace' );
function fanly_post_content_autospace( $data ) {
    $data = preg_replace('/([\x{4e00}-\x{9fa5}]+)([A-Za-z0-9_]+)/u', '${1} ${2}', $data);
    $data = preg_replace('/([A-Za-z0-9_]+)([\x{4e00}-\x{9fa5}]+)/u', '${1} ${2}', $data);
    return $data;
}

用这个方法一定要注意,主题更新的时候,修改过的 functions.php 要重新把之前所有的修改重做一次。