Я работаю над скриптом, который генерирует несколько CSS в одном. И вот сценарий.Слияние нескольких файлов CSS в один из PHP
$full_string = "";
foreach($allfiles as $curfile => $file) {
$file = $PATH[$curfile] . $file;
$file_open = fopen($file , 'r');
$concat = "\n" . fread($file_open , filesize($file)) . "\n";
$full_string .= $concat;
fclose($file_open);
}
return $full_string;
Здесь я совмещаю все файлы CSS в одном. Но теперь проблема заключается в том, что мне нужно сравнить текущий CSS ($ file) с другим css (давайте рассмотрим его как overrider.css
). А если $ файл, имеющий стиль, как,
h1 {
color: white;
background: teal;
FONT-FAMILY: arial, helvetica, lucida-sans, sans-serif;
FONT-SIZE: 18pt;
FONT-STYLE: normal;
FONT-VARIANT: normal;
}
body
{
font-family: arial;
FONT-SIZE: 14px;
}
и если overrider.css оказывает стиль, как,
body
{
font-family: Calibri;
color: #3E83F1;
}
Затем окончательный CSS (output.css) должен быть создан,
h1 {
color: white;
background: teal;
FONT-FAMILY: arial, helvetica, lucida-sans, sans-serif;
FONT-SIZE: 18pt;
FONT-STYLE: normal;
FONT-VARIANT: normal;
}
body
{
font-family: Calibri;
FONT-SIZE: 14px;
color: #3E83F1;
}
Здесь, поскольку стиль для тела в override.css
имеет font-family
, он заменяет свойство font-family в исходном CSS и поскольку цвет является новым свойством, которого нет в ($ file), который это оригинальный CSS-файл, поэтому он должен добавить свойство в исходный файл CSS. Итак, как добиться этого в PHP, так как я не имею никакого представления об анализе CSS. Любая идея по этому поводу была бы весьма признательна.
Обратите внимание, что мне нужно сгенерировать новый файл CSS, указав ввод как file1 ($ file) и file2 (override.css), и нам нужно разделить output.css с переопределенными стилями.
Заранее спасибо.
Он должен генерировать новый CSS, а не css переопределять ... – Stranger
@Udhay вы имеете в виду найти разницу и создать новый css с помощью php.? –