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 |
文章目录
关闭
共有 0 条评论