public static function Inline::parseScalar in Translation template extractor 6.3
Same name and namespace in other branches
- 7.3 vendor/Symfony/Component/Yaml/Inline.php \Symfony\Component\Yaml\Inline::parseScalar()
- 7.2 vendor/Symfony/Component/Yaml/Inline.php \Symfony\Component\Yaml\Inline::parseScalar()
Parses a scalar to a YAML string.
Parameters
scalar $scalar:
string $delimiters:
array $stringDelimiters:
integer &$i:
Boolean $evaluate:
Return value
string A YAML string
Throws
ParseException When malformed inline YAML string is parsed
6 calls to Inline::parseScalar()
- Inline::evaluateScalar in vendor/
Symfony/ Component/ Yaml/ Inline.php - Evaluates scalars and replaces magic values.
- Inline::parse in vendor/
Symfony/ Component/ Yaml/ Inline.php - Converts a YAML string to a PHP array.
- Inline::parseMapping in vendor/
Symfony/ Component/ Yaml/ Inline.php - Parses a mapping to a YAML string.
- Inline::parseSequence in vendor/
Symfony/ Component/ Yaml/ Inline.php - Parses a sequence to a YAML string.
- InlineTest::testParseScalarWithCorrectlyQuotedStringShouldReturnString in vendor/
Symfony/ Component/ Yaml/ Tests/ InlineTest.php
File
- vendor/
Symfony/ Component/ Yaml/ Inline.php, line 193
Class
- Inline
- Inline implements a YAML parser/dumper for the YAML inline syntax.
Namespace
Symfony\Component\YamlCode
public static function parseScalar($scalar, $delimiters = null, $stringDelimiters = array(
'"',
"'",
), &$i = 0, $evaluate = true) {
if (in_array($scalar[$i], $stringDelimiters)) {
// quoted scalar
$output = self::parseQuotedScalar($scalar, $i);
if (null !== $delimiters) {
$tmp = ltrim(substr($scalar, $i), ' ');
if (!in_array($tmp[0], $delimiters)) {
throw new ParseException(sprintf('Unexpected characters (%s).', substr($scalar, $i)));
}
}
}
else {
// "normal" string
if (!$delimiters) {
$output = substr($scalar, $i);
$i += strlen($output);
// remove comments
if (false !== ($strpos = strpos($output, ' #'))) {
$output = rtrim(substr($output, 0, $strpos));
}
}
elseif (preg_match('/^(.+?)(' . implode('|', $delimiters) . ')/', substr($scalar, $i), $match)) {
$output = $match[1];
$i += strlen($output);
}
else {
throw new ParseException(sprintf('Malformed inline YAML string (%s).', $scalar));
}
$output = $evaluate ? self::evaluateScalar($output) : $output;
}
return $output;
}