diff --git a/common/framework/formatter.php b/common/framework/formatter.php index e875c2ac8..459ad8eed 100644 --- a/common/framework/formatter.php +++ b/common/framework/formatter.php @@ -339,6 +339,10 @@ class Formatter $import_content = ''; $import_files = array_map(function($str) use($filename, $import_type) { $str = trim(trim(trim(preg_replace('/^url\\(([^()]+)\\)$/', '$1', trim($str))), '"\'')); + if (preg_match('!^(https?:)?//!i', $str)) + { + return $str; + } if ($import_type === 'scss') { if (($dirpos = strrpos($str, '/')) !== false) @@ -367,10 +371,14 @@ class Formatter }, explode(',', $matches[1])); foreach ($import_files as $import_filename) { - if (file_exists($import_filename)) + if (!preg_match('!^(https?:)?//!i', $import_filename) && file_exists($import_filename)) { $import_content .= self::concatCSS($import_filename, $target_filename, false); } + else + { + $import_content .= '@import url("' . escape_dqstr($import_filename) . '");'; + } } return trim($import_content); }, $content); diff --git a/tests/_data/formatter/concat.source2.css b/tests/_data/formatter/concat.source2.css index 639cfbcdd..13ffd0fbc 100644 --- a/tests/_data/formatter/concat.source2.css +++ b/tests/_data/formatter/concat.source2.css @@ -1,5 +1,7 @@ @charset "UTF-8"; @import url(concat.source3.css); +@import url(//fonts.googleapis.com/earlyaccess/nanumgothic.css); +@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap'); .wordpress { border-radius: 4px; } diff --git a/tests/_data/formatter/concat.target1.css b/tests/_data/formatter/concat.target1.css index 99f47778f..91f2f365e 100644 --- a/tests/_data/formatter/concat.target1.css +++ b/tests/_data/formatter/concat.target1.css @@ -12,6 +12,8 @@ background-image: url("../_data/_data/formatter/test.jpg"); font-family: sans-serif; } +@import url("//fonts.googleapis.com/earlyaccess/nanumgothic.css"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap"); .wordpress { border-radius: 4px; } diff --git a/tests/_data/formatter/concat.target2.css b/tests/_data/formatter/concat.target2.css index a8ec16098..198329c07 100644 --- a/tests/_data/formatter/concat.target2.css +++ b/tests/_data/formatter/concat.target2.css @@ -16,6 +16,8 @@ background-image: url("../_data/_data/formatter/test.jpg"); font-family: sans-serif; } +@import url("//fonts.googleapis.com/earlyaccess/nanumgothic.css"); +@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR&display=swap"); .wordpress { border-radius: 4px; }