From 1d5aba46afe9333b65a98e55498a5ee871d034f6 Mon Sep 17 00:00:00 2001 From: Daniel Rudolf Date: Sun, 20 Oct 2019 15:16:40 +0200 Subject: [PATCH] Support content files with UTF-8 BOM Resolves #461 --- lib/Pico.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Pico.php b/lib/Pico.php index 1026c4e..b5e3278 100644 --- a/lib/Pico.php +++ b/lib/Pico.php @@ -1477,7 +1477,7 @@ class Pico public function parseFileMeta($rawContent, array $headers) { $meta = array(); - $pattern = "/^(\/(\*)|---)[[:blank:]]*(?:\r)?\n" + $pattern = "/^(?:\xEF\xBB\xBF)?(\/(\*)|---)[[:blank:]]*(?:\r)?\n" . "(?:(.*?)(?:\r)?\n)?(?(2)\*\/|---)[[:blank:]]*(?:(?:\r)?\n|$)/s"; if (preg_match($pattern, $rawContent, $rawMetaMatches) && isset($rawMetaMatches[3])) { $meta = $this->getYamlParser()->parse($rawMetaMatches[3]) ?: array(); @@ -1581,7 +1581,7 @@ class Pico public function prepareFileContent($rawContent, array $meta = array()) { // remove meta header - $metaHeaderPattern = "/^(\/(\*)|---)[[:blank:]]*(?:\r)?\n" + $metaHeaderPattern = "/^(?:\xEF\xBB\xBF)?(\/(\*)|---)[[:blank:]]*(?:\r)?\n" . "(?:(.*?)(?:\r)?\n)?(?(2)\*\/|---)[[:blank:]]*(?:(?:\r)?\n|$)/s"; $markdown = preg_replace($metaHeaderPattern, '', $rawContent, 1);