让我们可爱的 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 服务器稍微加大点负担,也会偶尔匹配到英文单词的中间字符。不过英文不多的情况下,还是不错的。

Linode VS YardVPS,UnixBench VPS 简单性能测试对比

前两天查看虚拟主机时,发现好多虚拟空间的价格和一些低端的 VPS 差不多。无意中 VPS 毒到了。Linode 是大家有口皆碑的,首先有 5 处机房可以选择,加州的 Fremont 机房对于国内用户,速度是最快的。YardVPS 和 BuyVM 是有名的便宜 VPS。15 刀每年的费用对大家来说是非常有吸引力的。但是这 15 刀的大馅饼是不是值得呢?

我买了 Linode 的 Linode512(19.95刀/月),YardVPS 的 LEAF1 (15刀/年)和 TREE1(7.95刀/月)进行对比。

先来看看各 VPS 的配置对比。另外添加了 1 台 5520 服务器和 1 台 I7 的桌面系统作对比。

  1. Linode 和 YardVPS 都采用了 2010 年新款的服务器,配备 Xeon 5600 系列处理器,性能上差别不大,Linode512 采用了低功耗型号,对于机房而言,省电很重要。注意 YardVPS 提供 $15/year 所对应的 LEAF1 配置。其将 CPU 阉割掉了一半,只有 1.2GHz,而且使用的是 OpenVZ 的虚拟架构。这是有名的可以超售虚拟配置架构。在下面的 UnixBench 测试中可见一般。
  2. 其次观察内存配置。YardVPS 的 LEAF1 仅仅有用 128MB 内存,对于网页服务器来说,静态页面还马马虎虎,Wordpress 的 PHP 会非常吃紧。
  3. 我们来看一下 Ping 值。传说中从国内访问最快的 Fremont 机房当然是非常快的,美国中部肯塔基 Lexington 的机房貌似也非常不错。Tracert 的差别也不大。当然 LEAF1 的速度相对而言还是最慢的,可能是由于人多拥挤的缘故吧。

接下来我们看下 UnixBench 的结果。

YardVPS 的 2 台 VPS 先对比一下。在依靠 CPU 比较重的项目中(Dhrystone 2 using register variables,Double-Precision Whetstone,Shell Scripts),可以看到由于 LEAF1 的 CPU 只分配了全速的一半,评分也只有 TREE1 的一半不到。再来看看 Linode512,4 个 CPU 非常给力,达到了 TREE1 的 3-4 倍。Linode VPS 会比同样使用 Xen 虚拟的 TREE 系列在高性能计算上更出色。

硬盘能力方面,YardVPS 和 Linode 都声称适用 RAID10 作为数据硬盘,能兼顾速度与安全。测试中 YardVPS 的得分十分抢眼,TREE1 在各文件拷贝测试中(File Copy 1024 bufsize 2000 maxblocks,File Copy 256 bufsize 500 maxblocks,File Copy 4096 bufsize 8000 maxblocks)得到了最高分。可能是由于 Linode 在虚拟镜像存储的文件系统优化关系,在小 Block 时不是十分理想,但是也优于 LEAF1。LEAF1 的硬盘性能连我们搭建的独立服务器使用的 SATA 硬盘都不如,有点令人惋惜。


 

15刀/年的 VPS 确实很便宜,但是他的性能限制十分鲜见。个人认为如果觉得 19.95 每月的价格过高,YardVPS 的 TREE 系列是不二之选。YardVPS 不提供前台帮助,回答问题的速度非常慢,如果看中服务的话,Linode 十分可靠。

我会选择继续使用 Linode512 和 YardVPS 的 TREE1。毕竟 TREE1 的性能过得去,存储很棒,而且提供了每月 1.5TB 的流量。

如果想购买 Linode VPS 可以点击我的推介:http://www.linode.com/?r=4242b21e7d3fe6202cc22417e32cdaf7aae34167

WordPress 表情符号 测试

edwin-wang.com

难道 WordPress 表情符号一定要安装插件吗???哈哈非也 😀 我们来看看2.8的 /wp-includes/functions.php 中的定义:

if ( !isset( $wpsmiliestrans ) ) {
  $wpsmiliestrans = array(
  ':mrgreen:' => 'icon_mrgreen.gif',
  ':neutral:' => 'icon_neutral.gif',
  ':twisted:' => 'icon_twisted.gif',
    ':arrow:' => 'icon_arrow.gif',
    ':shock:' => 'icon_eek.gif',
    ':smile:' => 'icon_smile.gif',
      ':???:' => 'icon_confused.gif',
     ':cool:' => 'icon_cool.gif',
     ':evil:' => 'icon_evil.gif',
     ':grin:' => 'icon_biggrin.gif',
     ':idea:' => 'icon_idea.gif',
     ':oops:' => 'icon_redface.gif',
     ':razz:' => 'icon_razz.gif',
     ':roll:' => 'icon_rolleyes.gif',
     ':wink:' => 'icon_wink.gif',
      ':cry:' => 'icon_cry.gif',
      ':eek:' => 'icon_surprised.gif',
      ':lol:' => 'icon_lol.gif',
      ':mad:' => 'icon_mad.gif',
      ':sad:' => 'icon_sad.gif',
        '8-)' => 'icon_cool.gif',
        '8-O' => 'icon_eek.gif',
        ':-(' => 'icon_sad.gif',
        ':-)' => 'icon_smile.gif',
        ':-?' => 'icon_confused.gif',
        ':-D' => 'icon_biggrin.gif',
        ':-P' => 'icon_razz.gif',
        ':-o' => 'icon_surprised.gif',
        ':-x' => 'icon_mad.gif',
        ':-|' => 'icon_neutral.gif',
        ';-)' => 'icon_wink.gif',
         '8)' => 'icon_cool.gif',
         '8O' => 'icon_eek.gif',
         ':(' => 'icon_sad.gif',
         ':)' => 'icon_smile.gif',
         ':?' => 'icon_confused.gif',
         ':D' => 'icon_biggrin.gif',
         ':P' => 'icon_razz.gif',
         ':o' => 'icon_surprised.gif',
         ':x' => 'icon_mad.gif',
         ':|' => 'icon_neutral.gif',
         ';)' => 'icon_wink.gif',
        ':!:' => 'icon_exclaim.gif',
        ':?:' => 'icon_question.gif',
  );
}

图片全在/wp-includes/images/smiles 下边,大家也可以尝试着修改成自己喜欢的笑脸。 全局的噢,okay,这样子,大家可以在正文和回复中照常使用啦,注意噢,回复也可以的啦~ 😮 注意噢,在文本和表情间加个空格噢~

:-) Smile 笑脸 Shortcut: ‘:smile:’ , ‘:-)’ , ‘:)’
:-D Biggrin 咧嘴笑 Shortcut: ‘:grin:’ , ‘:-D’ , ‘:D’
:-( Sad 忧伤 Shortcut: ‘:sad:’ , ‘:-(’ , ‘:(’
:-o Surprised 吃惊 Shortcut: ‘:eek:’ , ‘:-o’ , ‘:o’
8-O eek 惊讶 Shortcut: ‘:shock:’ , ‘8-O’ , ‘8O’
:-? Confused 困惑 Shortcut: ‘:???:’ , ‘:-?’ , ‘:?’
8-) Cool 耍酷 Shortcut: ‘:cool:’ , ‘8-)’ , ‘8)’
:lol: LOL 大笑 Shortcut: ‘:lol:’
:-x Mad 抓狂 Shortcut: ‘:mad:’ , ‘:-x’ , ‘:x’
:-P Razz 冷笑 Shortcut: ‘:razz:’ , ‘:-P’ , ‘:P’
:oops: Red Face 红脸 Shortcut: ‘:oops:’
:cry: Cry 哭泣 Shortcut: ‘:cry:’
:evil: Evil 恶魔 Shortcut: ‘:evil:’
:twisted: Twisted 痛苦 Shortcut: ‘:twisted:’
:roll: Roll Eyes 转眼珠 Shortcut: ‘:roll:’
;-) Wink 眨眼 Shortcut: ‘:wink:’ , ‘;-)’ , ‘;)’
:!: Exclaim 感叹 Shortcut: ‘:!:’
:?: Question 疑问 Shortcut: ‘:?:’
:idea: Idea 好主意 Shortcut: ‘:idea:’
:arrow: Arrow 右箭头 Shortcut: ‘:arrow:’
:-| Neutral 自然的表情 Shortcut: ‘:neutral:’ , ‘:-|’ , ‘:|’
:mrgreen: Mr Green 绿脸先生 Shortcut: ‘:mrgreen:’

WordPress 中文标签 Tag 解决方法一则(2.71)

WordPress中文的问题真的很多,固定链接是一个。移植时候又碰到了个标签Tag的问题,英文Tag一切正常,中文就显示NOT FOUND。发现问题主要为IIS对URL截取的时候取得的是GBK的编码,但是我们的主题只要有中文都用的UTF-8的编码,所以我们要对编码进行处理后在交给数据库进行查询。 解决方法:使用PHP内置函数 mb_convert_encoding()进行UTF-8到GBK转换。 1、打开wp-includes\classes.php文件; 2、查找将

$pathinfo = $_SERVER['PATH_INFO'];
$req_uri = $_SERVER['REQUEST_URI'];

分别修改成:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");

我的2.71的classes.php文件分别修改了行153和行158处。

if ( isset($_SERVER['PATH_INFO']) )
  $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
else
  $pathinfo = '';
  $pathinfo_array = explode('?', $pathinfo);
  $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
  $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");