//汉字与英文、数字、下划线之间添加一个空格,英文前面有符号不插入空格
function replace_text($str){
$str = preg_replace('/([\x{4e00}-\x{9fa5}]+)([A-Za-z0-9_]+)/u', '${1} ${2}', $str);
$str = preg_replace('/([A-Za-z0-9_]+)([\x{4e00}-\x{9fa5}]+)/u', '${1} ${2}', $str);
return $str;
}
add_filter('the_content', 'replace_text');
通过修改模板函数来实现中英文之间自动添加空格
3617 views
2017-12-13 05:57:04
之前看了知乎上的一篇文章讨论网页中英文混排时中文与英文之间是否要有空格,觉得中英文之间添加空格是十分有必要的,很长一段时间以来都想给自己的博客添加上这样的效果,但是通过网上搜索发现,几乎所有实现这个效果的教程都是讲的要添加一个名为 han-la 类,并且需要引入一个 js 文件的方法(如果你是通过搜索看到这篇文章的,相信你也已经看到过其它地方流传的那个教程了),个人不喜欢在网页上引入太多的 js,之前本站有些效果能用原生 javascript 来实现的就绝不会使用 js 库(主要指 jQuery),这篇文章将另辟蹊径的教你通过修改主题函数来达到中英文之间加空格的效果,原理是 PHP 的替换操作,具体做法是把下面的代码添加到你主题的函数文件 functions.php 中就可以了。