A. Подход без регулярных выражений.
// deprecated //
list($username, $password) = explode(',', $myString);
$username = explode('=', $username);
$username = str_replace('+', ' ', $username[1]);
$password = explode('=', $password);
$password = $password[1];
// new version, independent of order //
$pairs = explode(',', $myString);
foreach($pairs as $pair){
list($key, $value) = explode('=', $pair);
$results[$key] = str_replace('+', ' ', $value);
}
// $results['user']
// $results['pass']
B. Regex.
/^user=([^,]*),pass=(.*)$/
C. parse_str . Этот Я рекомендую , и это, вероятно, лучший вариант.
parse_str(str_replace(',', '&', $myString), $results);