WordPress中的半角引号格式化问题

WordPress 保存文字时会有一些 filter 函数对输入的文字进行格式化处理。默认情况下英文的半角引号 ' 和连续两个横杠 -- 会被处理为全角引号和长横线。属实是非常阴间。特别是英文标题中的半角单引号变为全角单引号时,占两个字母宽,看着十分头痛。下面总结了三个方法,欢迎各位各取所需。

方法一:源码修改法

首先找到位于 WordPress 目录下的 /wp-includes/formatting.php 文件,搜索下列代码:

// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

将其全部注释掉即可。

// static strings
// $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

方法二:HTML实体法

在 HTML 页面中可以使用 &#xx; 这样的实体符号来表示字符。由于 ' 对应的实体符号为 '(这里的 & 符号得写成 & 属实是套娃了),所以将你需要保留半角引号的地方都替换为 ' 即可。不过这个方法的问题时,重新编辑时,网页里会自动将实体又转义为 ',所以再次保存时还是会格式化,前功尽弃。所以每次保存文章前都要记得替换为 ' 后再保存。

方法三:相似字符替代法

这种方法的视觉效果最好,既不会在编辑时看到一堆编码,并且可以持久保存,不用担心重复保存或者迁移环境时未修改代码。当然,相似字符需要谨慎挑选…可以进入 Unicode 官网提供的字符表自行索引,贴个链接 http://www.unicode.org/charts/nameslist/。下表供大家参考,需要使用的复制即可。

原始字符 名称 可替换字符 名称 Unicode 说明
' 单引号 重音符号 U+2032 和单引号字宽相同
" 双引号 双重音符号 U+2033 和双引号字宽相同
- 连字符&减号 连字符 U+2010 也可以用 U+2011

版权声明:
作者:dorence
链接:https://wp.dorence.top/archives/72
来源:极客模拟
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录