mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
some tiny fixes...
git-svn-id: file:///svn/phpbb/trunk@8087 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -695,25 +695,34 @@ class jabber
|
||||
}
|
||||
|
||||
/**
|
||||
* parse_data like a="b",c="d",...
|
||||
* parse_data like a="b",c="d",... or like a="a, b", c, d="e", f=g,...
|
||||
* @param string $data
|
||||
* @access public
|
||||
* @return array a => b ...
|
||||
*/
|
||||
function parse_data($data)
|
||||
{
|
||||
// super basic, but should suffice
|
||||
$data = explode(',', $data);
|
||||
$pairs = array();
|
||||
$key = false;
|
||||
|
||||
foreach ($data as $pair)
|
||||
{
|
||||
$dd = strpos($pair, '=');
|
||||
|
||||
if ($dd)
|
||||
{
|
||||
$pairs[substr($pair, 0, $dd)] = trim(substr($pair, $dd + 1), '"');
|
||||
$key = trim(substr($pair, 0, $dd));
|
||||
$pairs[$key] = trim(trim(substr($pair, $dd + 1)), '"');
|
||||
}
|
||||
else if (strpos(strrev(trim($pair)), '"') === 0 && $key)
|
||||
{
|
||||
// We are actually having something left from "a, b" values, add it to the last one we handled.
|
||||
$pairs[$key] .= ',' . trim(trim($pair), '"');
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
return $pairs;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user