麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
自定义dsn字串(一个正则解析的函数)大家给批批
悬赏分:20 - 2007年08月17日

正则初学者,请勿打击,
[PHP]
<?php
/**
* 函数名称: parseDSNString
* 函数功能: 解析DSN字串
* 输入参数: dsnstring (string)
* 函数返回类型: array
* DSN 格式: databaseprotocol://[username:[password]@]hostname[:port]/instancename/[misc/]
* DSN eg1: mysql://root:foo@localhost:3306/test/pconnect/
* DSN eg2: mssql://sa@127.0.0.1:1433/temp/
* DSN eg3: oracle://system:manager@localhost:1521:/mydata/
* DSN eg4: mysql://localhost:3306/test/
*/
function parseDSNString($dsnstring)
{
preg_match_all("/([a-zA-Z0-9._]+):\/\/(?[^:]+):?([^@]*)@|)([^:\/]+)(?:[\d^\/]+)|)\/([^\/]+)\/(?[^\/]+)\/|)/",$dsnstring,$dsnarray);
$configarray=array();
$configarray['dsnstring']=$dsnarray[0][0];
$configarray['databaseprotocol']=$dsnarray[1][0];
$configarray['username']=$dsnarray[2][0];
$configarray['password']=$dsnarray[3][0];
$configarray['hostname']=$dsnarray[4][0];
$configarray['port']=$dsnarray[5][0];
$configarray['instancename']=$dsnarray[6][0];
$configarray['misc']=$dsnarray[7][0];
return $configarray;
}
?>
[/PHP]
用例:
[PHP]
<?php
$myDSN='mysql://name:pass@localhost:3306/project/connect/';
print_r(parseDSNString($myDSN));
?>
[/PHP]
返回:

CODE:
Array (
[dsnstring] => mysql://name:pass@localhost:3306/project/connect/
[databaseprotocol] => mysql
[username] => name
[password] => pass
[hostname] => localhost
[port] => 3306
[instancename] => project
[misc] => connect
)

我想是不是用这种的方式配置连接的时候会比较方便?

提问者:nickfan   08-17 15:03
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
90 + 95 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM