#php #html #css #str-replace
#php #HTML #css — файл #str-заменить #css
Вопрос:
У меня есть скрипт, который обновляет файл CSS на основе некоторого пользовательского ввода из html-формы.
Скрипт выполняет str_replace и выполняет поиск в файле CSS «тегов». например-
html,body {
background: {bgcolor} url(../images/bg.jpg) repeat-x;
color: {textcolor};
}
Это отлично работает, но, очевидно, нарушает работу этого CSS-файла. Изначально это не имело значения, но из-за новой особенности в моем проекте мне нужно использовать этот CSS-файл.
Поэтому мне было интересно, есть ли какие-нибудь лучшие альтернативы этому? Я думал, может быть, что-то вроде:
html,body {
background: #fff /*{textcolor*/ url(../images/bg.jpg) repeat-x;
color: #fff /*{textcolor*/;
}
Таким образом, я мог бы также использовать символы комментариев внутри тега, что означает, что мой файл CSS не поврежден. Единственная проблема в том, как бы мне также заменить / удалить шестнадцатеричное значение?
Ответ №1:
Предполагая, что у вас уже есть скрипт, который заменяет теги их соответствующими значениями, почему бы не сделать что-то вроде этого:
1. Создайте style.php
файл, который загружает style.css
2: style.php
использует вашу уже созданную функцию для замены тегов вашими значениями по умолчанию
3: style.php
устанавливает заголовок как header('Content-type: text/css');
4: style.php
повторяет строку, которая была изменена
Тогда вместо того, чтобы вызывать style.css
по всему сценарию, вместо этого вызывайте style.php
.
Ответ №2:
С preg_replace()
:
preg_replace("/3[wd]{3,6}s/*{textcolor}*//", $str_hex_code, $str_css_file)