Archive → 2006
符合 RFC 822 的 Email 地址 PHP 验证函数
RFC 822: STANDARD FOR THE FORMAT OF ARPA INTERNET TEXT MESSAGES 定义了 Email 地址的详细格式。
于是就有了遵循这个标准的 Email 地址验证代码(php) :
function is_valid_email_address($email){
$qtext = '[^\x0d\x22\x5c\x80-\xff]';
$dtext = '[^\x0d\x5b-\x5d\x80-\xff]';
$atom = '[^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c'.
'\x3e\x40\x5b-\x5d\x7f-\xff]+';
$quoted_pair = '\x5c[\x00-\x7f]';
$domain_literal = "\x5b($dtext|$quoted_pair)*\x5d";
$quoted_string = "\x22($qtext|$quoted_pair)*\x22";
$domain_ref = $atom;
$sub_domain = "($domain_ref|$domain_literal)";
$word = "($atom|$quoted_string)";
$domain = "$sub_domain(\x2e$sub_domain)*";
$local_part = "$word(\x2e$word)*";
$addr_spec = "$local_part\x40$domain";
return preg_match("!^$addr_spec$!", $email) ? 1 : 0;
}
PHP : Parsing Email Adresses in PHP 上面也提到了 ruby 和 python 的版本
Mephisto 和 Radiant CMS
前一阵花了好多时间把 blog 迁移到了 Mephisto 这个了 blog 发布系统上,因为我喜欢折腾,而这个貌似不错。后来我发现我的选择真的没错。
最近一直有人问我这个 blog 用的系统,所以说明一下吧。
Mephisto 是基于 ROR 的,它主页上写的是 the best blogging system ever. 作者 Rick Olson 也很有来历,是 Rails core team 的成员。
istef 说 Mephisto 不好装 ,不过我觉得挺容易的,跟其它的 ROR 程序的配置一样,用 gems 装好 tzinfo,配 database.yml,.htaccess 然后初始化数据库就好了。官网上也有详尽的教程
那有哪些特别的地方呢:
- 首先很简洁,大方,我喜欢这种风格。
- 分类叫做 section (这点像 TXP ),可以自由对每个 section 的界面进行不同的配置,所以很适合用作小型的 CMS。
- 支持 tagging
- 文章编辑可以使用 textile, markdown, plain html, 文章还有 reveiosn 可以进行版本控制。
- 智能的 cache 系统,生成静态文件, 不过不像 mt 那么傻,必须一次把所有的页面生成,它是在对页面的第一次访问时自动生成静态页。另外修改模板,设置之后,它会清除相应的 cache,所以平时根本不用你去管它的 cache。
- 模板基于 liquid,很优雅,不过我觉得还不够强大。
- 内置的基于 Akismet 的 spam 过滤机制,这个当然很有效。
- 非常方便的附件 (assets) 管理,看这个
- plugins,liquid tags 之类的扩展也很容易,不过也要有点 ruby/ror 的知识就是了。
- 本身不支持 trackback,很多人说不喜欢 trackback,所以也算一个特点吧。
- 另外还有一个强大的功能就是支持多个不同站点,不过还不是很完善,在有的平台,如 lightty 上就不太好配,当然在 Apache 和 nginx 上没有问题,这个功能很爽的。详见:Hosting Multiple Sites 还可以看看它的官网:Mephistoblog 的配置文件 。
nginx + mongrel 差不多是目前测过的最快的 ROR 环境了,在很破的虚拟机上跑都比 dreamhost 的破 apache + fastcgi 快很多,而且非常稳定,不过似乎还是有点吃 cpu 。
哦,我发现我不会写 blog 了…… 这几个字就敲了这么久,而且似乎没有逻辑…… 不写了,喜欢折腾的自己去试吧。
- Mephisto Wiki
- Mailing List
- IRC: #mephisto on irc.freenode.net
另外 Radiant CMS 也很好用,可以看它的这个应用 。
Dreamhost 的客服真不错
刚给他们发了封信问能不能做泛域解析,十五分钟之后就回信说给我弄好了。
表扬,表扬!!
看来有问题的时候就应该多骚扰他们啊。
我的桌面
Hedgehog 博士 的点名游戏,交作业如下:
- 目前的桌面是:下图
- 这台是你的个人计算机?还是公司或家人共享的计算机? dell,公司的财产
- 使用什么操作系统?Windows server 2003
- 这张桌布是什么?从哪取得的? M$ 的 Energy Blue 桌面主题自带的
- 更换桌布的频率高吗? 似乎还没换过
- 桌面上有几个ICON? 你自己数一下
- 一堆档案和快捷方式放得乱七八糟的桌面,你看得下去吗? 我就是典型,因为这样很方便
- 有没有什么坚持点? 啥?
- 有为了填这份接力,还特地整理一下桌面吗? 整理完还会是这个样子?
新居照片
Flickr 200 张的限制实在太让人不爽,我很早之前就超了,一直没地方放照片,其它的一些网站都不太理想。
最近拍了几张新家的照片,传到 Zooomr 上试试。Zooomr 支持使用 openid 登陆,Flickr 上常用的功能它都本上都有,用 jUploadr 也可以实现文件的批量上传,因为它的 api 和 Flickr 的基本相同。UI 虽然看不太习惯,不过也还算友好,一些小的细节上的功能也挺不错的。
非 pro 帐号只有每月上传流量的限量,而且在 blog 上引用一张 zooomr上的照片,就可以去激活 pro 帐号了。
rm -rf
昨天不小心 在网站目录下打了 rm -rf
结果所有文件都消失了,还好数据库还在
终于恢复过来了
这个界面看上去不错,先用着,等有空再换回原来的
Mephisto 不错 用 Textile 来编辑文章也挺有意思的 ![]()
Update:
到 Dreamhost 的 wiki 上看了一下,原来 Dreamhost 对于每个用户的文件有自动备份 ,每个用户目录下有一个隐藏的 .snapshot 目录,里面放着用户数据的备份(详见:Automated domain snapshots)。
不过数据库还是得自己备份。
学校都开学一周啦
上星期学校开学了,虽然已经不是我的学校
好朋友差不多都见过了,他们都开始了光明的博士或硕士生活
虽然自己和这些人走了不一样的路,不过还是不希望被抛得太远
感觉最近过得好差,得看清方向,努力向上
最后庆祝我的 blog 终于又更新一篇啦 想看下一篇吗?
DotClear 2 beta 1
变化太多。真正的多用户,支持 tag,模板系统也完全变了……其它的还有太多。所以叫 DotClear 2 而不是叫 DotClear 2.0。
有空看看。
DotClear 发布 1.2.5 版
今天 DotClear 发布了 1.2.5 版,没啥大的 改动,我现在用的是其 SVN 上代号为 rockey 的版本,发现回退不回去了,而且 WIKI 格式代码转换有点问题,先这么着吧,等有空再改改。
附个被点名的东西。建议略过不看……

