禁止wordpress的符号自动转换功能

2010年10月06日 Wordpress 评论 2 条 阅读 7,327 views 次

wordpress在使用中文的时候,wordpress总是自作多情地把一些英文符号(半角符号,如双引号等等)转换成中文符号(全角),这样虽然比较符号中文的语法输入,但在发布一些代码时却是惹来一大堆麻烦,特别是在我们发一些代码比较多的情况下,直接复制代码部分由于出现中文符号而导致无法编译,所以又得进行全局替换,把中文符号又替换成英文符号,实在是不方便,所以今天就教大家如何把这个自动功能给费掉。
修改wp-includes\formatting.php屏蔽掉该部分函数功能,具体做法:

$curl = str_replace($static_characters, $static_replacements, $curl);
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

直接注释掉,也就是前面加上//

这个方法虽然直接,但每次更新Wordpress时formatting.php文件可能会被替换掉,这时又要重新修改回来。
真希望wordpress能开发个功能插件,又或者是一个开关,那样就方便多了。

同样,如果我们只希望某些符号不被自动替换,那么我们可以通过改下面的内容来实现

//要替换的符号
$static_characters = array_merge(array('---', ' -- ', '--', ' - ', 'xn–', '...', '``', '\'\'', ' (tm)'), $cockney);
//替换的符号
$static_replacements = array_merge(array('—', ' — ', '–', ' – ', 'xn--', '…', $opening_quote, $closing_quote, ' ™'), $cockneyreplace);

将不需要替换的符号从数组里去掉就OK了。

2 条留言  访客:1 条  博主:1 条

  1. 这方法不够好 :)

给我留言

Copyright © 羽飞博客 保留所有权利.   Ality主题 皖ICP备14013844号-1

用户登录