Завершение поведения новой строки в YAML :: parse () со скалярным содержимым, написанным в блочной форме с использованием литерального стиля

У меня есть следующий файл YAML:

street:    |
123 Tornado Alley
Suite 16
price:     1.47

Так что, если я проанализирую этот файл с YAML::parse() от компонента YAML symfony2 я ожидаю, что получу массив с:

string "123 Tornado Alley
Suite 16"

в этом. Но вместо этого я получаю:

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

Таким образом, определяющий разрыв строки после Suite 16,

Есть ли причина, по которой парсер ведет себя так? Для меня это выглядит как ошибка …

0

Решение

это \n в конце не ошибка, он должен быть там.

Это соответствует скалярному буквальному стилю YAML 1.1.

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

Смотрите также Пример 2.13. В литералах сохраняются символы новой строки.

Вы можете просто захотеть rtrim данные, прежде чем продолжить.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]