protected static function parseQuotedScalar($scalar, &$i)
{
$delimiter = $scalar[$i];
++$i;
$buffer = '';
$len = strlen($scalar);
$escaped = '"' == $delimiter ? '\\"' : "''";
while ($i < $len) {
if (isset($scalar[$i + 1]) && $escaped == $scalar[$i] . $scalar[$i + 1]) {
$buffer .= $delimiter;
++$i;
} else {
if ($delimiter == $scalar[$i]) {
break;
} else {
$buffer .= $scalar[$i];
}
}
++$i;
}
if ('"' == $delimiter) {
// evaluate the string
$buffer = str_replace('\\n', "\n", $buffer);
}
return $buffer;
}