让simple tags 2.2自动标签支持中文

找到 \inc\class.client.autoterms.php 文件,在大约第100行,
将类似如下语句:
if ( preg_match("/\b".$term."\b/i", $content) );

中的两个 \b 去掉,\b 在正则表达式中表示单词边界,但是中文跟英文不一样,字(单词)与字(单词)之间没有边界。即:
if ( preg_match("/".$term."/i", $content) );

找到 \inc\class.client.autolinks.php 文件,在大约第160行,
将类似如下语句的行首添加双斜杠,将这两句话注释掉:
//$match = '/(\PL|\A)(' . preg_quote($term_name, "/") . ')(\PL|\Z)/u'.$case;
//$substitute = '$1

然后将紧跟在下面的原本被注释掉的语句启用,并去掉其中的两个 \b ,即:
$match = "/" . preg_quote($term_name, "/") . "/".$case;
$substitute = '

至此,中文标签完美兼容!

发表评论