Ich hab hier mal was gebastelt gehabt.
1) würde jede DB Bezeichnung durchgehen? oder würds bei irgendner Bezeichnung Fehler geben?
2) in $data, das 2te (.*?), also das Passwort, muss ja ned unbedingt gegeben sein, nur es funktioniert nicht wenns ned gegeben ist. mit dem z.Zt. auskommentierten $dbase gehts ned!
// BUG:
wenn in einem [php] irgendwo nen \ auftritt wirds gekillt... musste nu schon [code] nehmen wegen den \ in $muster
Code:
$dbase = "mysql://user:passwort@localhost/database"; // $dbase = "mysql://user:@localhost/database"; $muster = "|^mysql://[a-z0-9\.\_\-]+(:[a-z0-9\.\_\-]+)?@[a-z0-9\.\_\-]+/[a-z0-9\.\_\-]+$|i"; // update: 04:04 Uhr if(preg_match($muster, $dbase)) { $data = preg_replace("/\mysql:\/\/(.*?):(.*?)@(.*?)\/(.*?)/si", "\\1:\\2:\\3:\\4", $dbase); $e_data = explode(':', $data); $db_host = $e_data[2]; $db_user = $e_data[0]; $db_pass = $e_data[1]; $db_name = $e_data[3]; } else { Database::Error(2, 'Die Syntax der MySQL-Daten ist ungültig.'); }
2) in $data, das 2te (.*?), also das Passwort, muss ja ned unbedingt gegeben sein, nur es funktioniert nicht wenns ned gegeben ist. mit dem z.Zt. auskommentierten $dbase gehts ned!
// BUG:
wenn in einem [php] irgendwo nen \ auftritt wirds gekillt... musste nu schon [code] nehmen wegen den \ in $muster
Kommentar