Vanilla搭建的论坛,中文用户名的注册如何实现?

2012-03-14 22:47:09 +08:00
 zwm
Vanilla搭建的论坛,默认是不支持中文用户名的注册的,网上搜索到的方法都无效,发现有的论坛是可以的,不知道是如何实现的,知道的朋友请指点一下,非常感谢!
示例:
http://www.oneplace.cn/

http://xinyongka.biz/
6675 次点击
所在节点    问与答
38 条回复
Ellison
2012-03-14 22:49:48 +08:00
Vanilla都已经有仿V2EX的风格了么...
zwm
2012-03-14 22:52:59 +08:00
或者没有有类似的轻型论坛程序,支持中文用户名?
daqing
2012-03-14 23:04:17 +08:00
以前弄过一点Vanilla,不支持中文名注册,是因为昵称验证的正则表达式,只支持英文(现在不知道怎样)

改改那个正则,就可以支持中文了。
daqing
2012-03-14 23:06:00 +08:00
@zwm 看看Rabel,支持中文名注册的简洁论坛软件: http://rabelapp.com
Eyon
2012-03-14 23:08:55 +08:00
哇,第一眼看上去好漂亮.....不过URL中的中文好蛋疼.....

话说 @daqing 那个项目是打算一直做嘛?
daqing
2012-03-14 23:13:04 +08:00
@Eyon 是的,打算长期做。目前的UI有争议,这个慢慢会改掉。
zwm
2012-03-14 23:18:45 +08:00
@daqing 谢谢,试过了,无效。
zwm
2012-03-14 23:22:21 +08:00
请教过Vanilla中文汉化包的作者andelf,TA回复是:

简单给你说下怎么实现:
bootstrap.php 中你应该能看到:
if (file_exists(PATH_ROOT.'/conf/bootstrap.before.php'))
require_once(PATH_ROOT.'/conf/bootstrap.before.php');
..........
if (file_exists(PATH_ROOT.'/conf/bootstrap.after.php'))
require_once(PATH_ROOT.'/conf/bootstrap.after.php');

从代码上看, 这个是一个用来实现自定义功能的地方. 虽然官方文档没有说.
所以在conf目录下:
bootstrap.after.php
<?php
class Chn_MentionsFormatter {
public static function GetMentions($String) {
// This one grabs mentions that start at the beginning of $String
preg_match_all(
'/(?:^|[\s,\.>\x{4e00}-\x{ffff}])@([\d\w\x{4e00}-\x{9faf}]{3,20})\b/ui',
$String,
$Matches
);
$file_pointer = fopen("./log","w");
fwrite($file_pointer, serialize($Matches[1]));
fwrite($file_pointer, serialize($String));
fclose($file_pointer);
if (count($Matches) > 1) {
$Result = array_unique($Matches[1]);
return $Result;
}
return array();
}
public static function FormatMentions($Mixed) {
// return "..................................";
$Mixed = preg_replace(
'/(^|[\s,\.>\x{4e00}-\x{ffff}])@([\w\d\x{4e00}-\x{9fa5}]{3,20})\b/ui',
'\1'.Anchor('@\2', '/profile/\\2'),
$Mixed
);
return $Mixed;
}
}

Gdn::FactoryInstall('MentionsFormatter', 'Chn_MentionsFormatter', NULL, Gdn::FactoryInstance);


文件可能需要确认权限.我的文艺先锋就是用这个方法搞定的.
zwm
2012-03-14 23:25:53 +08:00
但我照此试了一下,还是无效,再问就没下文了。我是技术小白,怀疑是不是与版本有关,我用的是最新的2-0-18-2版,而andelf用的是旧版。
daqing
2012-03-14 23:29:41 +08:00
@zwm 他告诉你的这个文件,是处理mention的,跟注册的关系不大。我也只是搞过老代码,新代码没看过。
zwm
2012-03-15 00:03:21 +08:00
@daqing 谢谢。
zwm
2012-03-15 00:39:47 +08:00
睡觉,明天接着研究。
zwm
2012-03-15 11:25:43 +08:00
今天有没有
huihen
2012-03-15 14:04:40 +08:00
@zwm 你不如去官方论坛问问?
zwm
2012-03-15 15:34:32 +08:00
@huihen 谢了。就是先再那儿问的,没人理。所以就在网上搜、问汉化包作者、找实现了这个功能的站长问……最后到了这儿试试
momou
2012-03-15 16:06:47 +08:00
我之前搞过,是可以支持的,改下正则式就可以的。。。
zwm
2012-03-15 16:18:44 +08:00
@momou 可以详细说一下吗?
momou
2012-03-15 16:23:56 +08:00
@zwm 看看这里 http://www.latooni.cn/504 ,大概差不多。。。
zwm
2012-03-15 16:42:50 +08:00
@momou 谢谢,这个方法我试过,没弄成。
chuck911
2012-03-15 17:00:19 +08:00
@zwm oneplace.cn是我的。。。已经长草了。。。
我这周内把这个主题整理出来放到github上

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/29657

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX