在 PHP 8.3 中,我正在使用yaml_parse_file()读取一个如下所示的文件:
summary: "Apples
Apples are a delicious fruit, unless they have worms in them."
当我json_encode()
使用生成的数组parse_yaml_file()
然后将其输出到文件时,输出如下所示:
Apples
Apples are a delicious fruit, unless they have worms in them."
因此,它似乎yaml_parse_file()
在修剪空格,并删除Apples
和之间的空白行Apples are a delicious fruit.
但是我需要保留该空白行。有没有简单的方法可以保留它,还是我必须在yaml_parse_file()
删除它之后再将其添加回来?
这不是 PHP 解析器中的错误,这是作为YAML 规范的一部分定义的:
请注意,保留的是完全空白的行,而剪切的是第一行末尾的换行符。
为了避免这种情况,您可以改用转义序列对 YAML 进行编码:
或者可能只是包含一个额外的明确空白来弥补被剥离的空白:
您还可以使用特殊的管道
|
字符来指示块文字(但您必须考虑缩进):