让我们可爱的 Simple-Tags 支持中文 (wp 3.2.1可用,2.0-beta9)

Simple-Tags (官网链接) 真是个牛货,提供了多个 WP 插件所提供的功能,代码简练。并且提供了很多站长所期望的内链功能。唯一的遗憾由于开发者都是老外,没有考虑到使用扩展字符集的文字,中文就是这样的语言。所以很多站长发现他不能支持中文,蛋疼啊。

多次尝试下,如下的方法可以让 Simple-Tags 支持中文,其实也就是在匹配表达式上动手脚,去掉老外严谨的匹配条件。

进入 wp-content/plugins/simple-tags/inc(Simple-Tags 2.0-beta9是这个路径),打开 class.client.autoterms.php 文件,第 94 行(或者左右)。有如下代码,

if ( preg_match("/\b".$term."\b/i", $content) )

我们要动到的就是这句话。注意其中 \b 这个字符在正则表达式中匹配英文是时常使用到。\b 就是用在你匹配整个单词的时候,如果不是整个单词就不匹配。我的修改如下,

if ( preg_match("/".$term."/i", $content) )

这样就能让 Simple-Tags 匹配扩展字符集的中文字符了。当然这样的修改会对 php 服务器稍微加大点负担,也会偶尔匹配到英文单词的中间字符。不过英文不多的情况下,还是不错的。