Короткий вопрос: У меня переменная $ css, содержащая CSS, я хотел бы найти данный стиль (в моем случае «тело») в этой переменной и заменить его на пользовательский стиль.Как заменить стиль CSS с помощью PHP?
Базовый ввод-вывод:
/* blablabla */
body {
background-color:#d0e4fe;
font-family: 'Afamily', sanas-serif;
}
span {
padding: 5px
}
h1 {
color:orange;
text-align:center;
}
body {
margin: 10px;
padding: 5px;
}
p {
font-family:"Times New Roman";
font-size:20px;
}
Мы называем magicFunction():
echo magicFunction($css, 'font-color: pink; font-weight: bold;');
И мы получаем:
/* blablabla */
body {
font-color: pink; font-weight: bold;
}
span {
padding: 5px
}
h1 {
color:orange;
text-align:center;
}
p {
font-family:"Times New Roman";
font-size:20px;
}
Что случилось? В основном я stucked здесь
$bodyPattern = '/body\s\{[.|\s]*/m';
$found = preg_match_all($bodyPattern, $css, $matches);
Он нашел только выход вещи, как:
"body {
'"
После возвращения строки ... ничего.
Конечно, как только у меня будет правильный шаблон регулярного выражения, я буду использовать preg_replace.
Почему я хочу сделать это: Я хочу, чтобы применить CssToInlineStyle с помощью моего сайта CSS, чтобы создать информационный бюллетень, я хотел бы изменить только стиль тела, чтобы избежать какого-то стиля для применения (например, цвет фона) , EDIT: Этот момент упоминается, чтобы вы знали, «почему», не стесняйтесь комментировать и дайте свою точку зрения на это, но, пожалуйста, рассмотрите только указанный выше вопрос как то, на что вы должны отвечать.
Вы сначала удивление, если клиенты электронной почты принимают CSS, как это? –
Да, они делают, по крайней мере, GMail принимает его, если рендеринг не так хорош для других, это не имеет большого значения. – AsTeR
Я действительно ценю все необъяснимые голоса! – AsTeR