喜欢在中英文间插入空格的博主都知道,WP有一款插件叫“空格爱好者”(Space Lover),由软件作者Tunghsiao Liu编写。整体代码简洁明了,以preg_replace
与正则表达式来判断和添加中英文间的空格,达到悦目的效果。
当然插件也不是完美无缺,毕竟自动插入空格后会导致复制文本时带入额外空格,以及中英文间的空格过宽且无法单独自定义。
还有个偷懒办法是直接设置letter-spacing: 0.15rem
,但所有文本都相应宽了。
改进方法:
- 正则表达式将
' '
替换为'<span class="space"></span>'
- CSS中设置
.space {margin:0 0.1rem;}
代码举例:
$content = preg_replace('~(\p{Han})([a-zA-Z0-9\p{Ps}\p{Pi}])(?![^<]*>)~u', '\1'.'<span class="space"></span>'.'\2', $content);
效果:
注:<span>会出现在浏览器标签页中,有洁癖者慎加。
这还有个博客
@小熊一直是俩。
几天没来,是不是换字体了?
比起要装个插件,我还是觉得手动方便。
Ps:去掉狂粉这种功能棒棒哒的,简洁的评论区看着不好吗?哈哈
@Betty哈哈,版式是不是似曾相识?都是抄你的。
@S̆̈哈哈哈,我说这么优越的版式也像致敬我之作,哈哈
上次来发现你常规的竖排留言者信息区突然变横排,我就估摸着你在复刻的道路上感叹 Betty 可真懂设计之美,咩哈哈哈
@Betty嗯,我一直等着你哪天发现了来告诉我。
我已经习惯手敲空格了,用了插件或自定义代码自动化反而觉得不太习惯……
@Justin手敲万一经常忘记怎么办……岂不是不对称了。
@S̆̈这种情况在我身上很少发生,就算是发生了也不是什么大事,看到了就改呗~
@Justin强迫症会死,哈。
太高级了,强迫症很喜欢,但我不会,算了。
@JiaYin可以直接装插件不改也挺好。