You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP/Laravel项目Spatie YamlFrontMatter解析frontmatter不符合预期问题

故障排查与解决方法

问题根因

扩展未识别到yaml front matter的分隔符,导致全部内容被判定为正文,常见原因有以下3种,按优先级排查即可:

  • 分隔符格式不符合要求
    spatie/yaml-front-matter 要求首尾的---必须单独占一行,且行首行尾没有任何空格、制表符等不可见字符:
    • 起始---必须是文件的第一行,前面不能有空行、空格或UTF-8 BOM头
    • 每个yaml属性单独占一行
    • 结束---单独占一行,行尾不能直接跟正文内容,正文需从下一行开始
      你可以先将test.html的内容替换为以下标准格式重新测试:
---
title: Example
---
Lorem ipsum.
  • 读取文件的方式存在编码问题
    不要手动调用file_get_contents读取文件内容,直接使用扩展提供的parseFile方法,避免读取过程中出现编码、换行符转换的异常:
$document = YamlFrontMatter::parseFile('test.html');
dd($document->title);
  • 文件带有UTF-8 BOM头
    如果你的测试文件是UTF-8带BOM编码,文件开头的3个隐藏BOM字符会导致扩展无法识别到首行的---,将文件转码为UTF-8 无BOM格式即可解决。

内容的提问来源于stack exchange,提问作者Hubert1957

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:06:00