Как я могу уменьшить CSS до нескольких свойств

Как я могу уменьшить CSS / (или) МЕНЬШЕ с PHP?
Из этого:

.header-logo-holder{
display: block;
float: none;
text-align: center;
margin: 10px 0;
color: #fff;
background: #333;
padding-bottom: 15px;
border-bottom: 1px solid darken(@rw-header-background-color, 10%);
.logo{
margin: 0;
}
.eg-clearfix();
}

К этому:

.header-logo-holder{
color: #fff;
background: #333;
border-bottom: 1px solid darken(@rw-header-background-color, 10%);
}

Я хочу оставить только правила цвета, фона и границы.

0

Решение

Вот мое решение:

<?php

//give the file (string) to the function
function keepColorBackgroundBorder($input) {

//didn't check if the input was correct (string, not empty, etc)

//we turn the input into an array
$input = explode("\n", $input);

//here is the list of strings which must be in a line to keep it in our final string
$keep = ['{', '}', 'color', 'background', 'border'];

$result = '';

//foreach over the lines of the input
foreach ($input as $key => $value) {

//foreach over each characters we want to keep
foreach ($keep as $key => $value2) {

//if the characters are somewhere in the line
if (strpos($value, $value2) !== false) {

//we add the line + a newline character
$result .= $value . "\n";

//we stop the check for characters as we don't want a line to be included twice
//e.g: border-bottom: 1px solid darken(@rw-header-background-color, 10%);
//this example contains border and background
break;
}
}
}

//we return the result, end delete the last newline character
return trim($result);
}

//we get the file as a string
$input = file_get_contents('file.css');

//we call the function and we look at what was outputted
echo keepColorBackgroundBorder($input);

Вероятно, слишком много комментариев, но лучше слишком много, чем недостаточно.

Я использовал массив, так что его легко изменить, если хотите. Например, вы могли бы иметь ['background:', 'border:', 'border-bottom:'] и т.д., чтобы убедиться, что строка не включена, если она содержит разрешенное слово где-то еще, чем в начале, например border-bottom: 1px solid darken(@rw-header-background-color, 10%); который содержит background, но нет background:,

Если file.css содержит:

.header-logo-holder{
display: block;
float: none;
text-align: center;
margin: 10px 0;
color: #fff;
background: #333;
padding-bottom: 15px;
border-bottom: 1px solid darken(@rw-header-background-color, 10%);
.logo{
margin: 0;
}
.eg-clearfix();
}

Ты получишь:

.header-logo-holder{
color: #fff;
background: #333;
border-bottom: 1px solid darken(@rw-header-background-color, 10%);
.logo{
}
}
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]