结束使用文字样式以块形式编写的标量内容的YAML :: parse()的换行符

时间:2014-10-11 13:36:06

标签: php symfony yaml

我有以下YAML文件:

street:    |
           123 Tornado Alley
           Suite 16
price:     1.47

因此,如果我使用YAML::parse()从symfony2 YAML组件解析该文件,我希望得到一个数组:

string "123 Tornado Alley
Suite 16"

在里面。但不是我得到的:

array (
  'street' => '123 Tornado Alley
Suite 16
'
// ...
)

Suite 16之后确定换行符。

解析器的行为是否有任何理由?对我来说,它看起来像一个错误......

1 个答案:

答案 0 :(得分:3)

最后这个\n不是错误,它必须在那里。

这符合YAML 1.1块标量文字样式。

http://yaml.org/spec/1.1/#|%20literal%20style/

另见Example 2.13. In literals, newlines are preserved

在继续之前,您可能只想rtrim数据。