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 的版本
前一阵花了好多时间把 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 也很好用,可以看它的这个应用 。
Recent Comments