PHP CSS Parser @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 9 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: PHP CSS Parser
Сообщение Добавлено: 4 Февраль 2009, 03:02:20 
Задача: с помощью PHP изменить содержимое CSS файла.

Варианты решений:

Найти класс (еще пока не нахожу) который умеет:
1. прочитать и парсировать CSS файл (перевести содержимое в объекты)
2. сделать изменения (допустим свойств)
3. выдать новый CSS

Либо изменять CSS с помощью регулярных выражений.
Кто что знает, думает?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Mimo Муж.
новый человек
2
Сообщения: 132
Зарегистрирован: 21.10.06
Сообщение Добавлено: 4 Февраль 2009, 19:06:37 
Обрабатывать CSS как любой текстовый файл, отдавая его при этом с правильным заголовком, ничто не мешает. Вопроса только в два - ЗАЧЕМ и в зависимости от ЧЕГО его менять?
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 4 Февраль 2009, 23:46:03 

AlexShop писал(а):
Задача: с помощью PHP изменить содержимое CSS файла.



Зачем?
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: Re: PHP CSS Parser
Сообщение Добавлено: 5 Февраль 2009, 03:18:41 
Вот для чего мне нужно.

Имеется много сайтов, которые работают на одном движке. К примеру:
www.2print.com
www.northbearprinting.com

Движек находиться в одном месте, получает запросы со всех сайтов, выдает всем сайтам одинаковый (почти) HTML.

Задача: разрешить владельцам сайтов менять: цвет, шрифт (т.е. CSS).
Думаю сделать так:
на каждом конкретном сайте будут лежать CSS файлы. Движек будет вставлять в HTML сначала свой CSS, а затем CSS клиента (если такой имеется).

Теперь надо разрешить изменять CSS файл на админке (для людей которые не знают CSS).

Для этого PHP будет парсировать CSS файл, показывать в HTML форме (кнопочки, списки, текстовые поля).
Как только пользователь нажал "Submit", PHP изменяет CSS файл.

Получается что я пишу CMS? Я думал выбрать какую нибуть CMS и прикрутить к движку, но ни с одной CMS я еще не работал (а движек писал сам).

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Crazy Муж.
Модератор
107
Сообщения: 14561
Зарегистрирован: 23.12.01
Откуда: Moscow
Сообщение Добавлено: 5 Февраль 2009, 06:49:47 
Для этого не нужно парсить CSS. Нужно держать структуру в удобном для редактировании виде (хотя бы и в базе) и генерировать -- в одну сторону -- из нее CSS.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Заголовок сообщения: Re: PHP CSS Parser
Сообщение Добавлено: 5 Февраль 2009, 08:47:28 
Crazy,
похожий вариант у меня прокручивался в голове.

Потому что CSS код надо ассоциировать с такими понятиями как: шапка, меню продуктов, заголовки и т.п.

Поэтому думал хранить такой CSS код в виде XML файлов. А XML файлы прекрасно парсируются в PHP.
Другой вариант: INI файлы (тоже парсируются в PHP с помощью parse_ini_file).
Ну и с базой тоже вариант.

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Mimo Муж.
новый человек
2
Сообщения: 132
Зарегистрирован: 21.10.06
Сообщение Добавлено: 6 Февраль 2009, 05:44:47 
AlexShop, я расскажу Вам страшную тайну про разные такие модули типа для Drupal...

CSS-код ассоциировать конечно можно. И можно просто воспользоваться (раз уж Вам так припёрло XML) такой идеей, как namespsce. Одна беда: конструкция сайта, страницы, html-(xml, sgml)-документа суть логика структуры. Например, к чему бы такое понятие как "логическая разметка"?

А уж CSS - язык ВИЗУАЛИЗАЦИИ. К логике разметки отношения не имеющий. Таки Вы хотели что? Оживить довольно банальную историю про классификацию и последующую обработку НАЗВАНИЙ директив CSS для классов (или чего Вам там хотелось, идентификаторов, тегов...)?

Ну понятно, что это сделать можно и достаточно легко. Повторю вопрос свой и Crazy, ЗАЧЕМ???

Ваши слова описали механизм действия, давно известный и вполне банальный, но ЦЕЛИ Ваших действий не объяснили.
AlexShop Муж.
участник
34
Сообщения: 1866
Зарегистрирован: 17.02.04
Сообщение Добавлено: 7 Февраль 2009, 04:28:46 
Mimo,
я же написал зачем мне это надо.
AlexShop писал(а):
Задача: разрешить владельцам сайтов менять: цвет, шрифт (т.е. CSS).

Если есть способ получше - внимательно выслушаю.

Про модули типа для Drupal ничего незнаю, можно подробнее?

_________________
Тот, кто задает вопрос, глупец в течение пяти минут, тот, кто его не задает, глупец всю свою жизнь. (Китайская поговорка)
Mimo Муж.
новый человек
2
Сообщения: 132
Зарегистрирован: 21.10.06
Сообщение Добавлено: 8 Февраль 2009, 20:33:30 
Модули Drupal

Даже при установке по дефолту, сколько помню, там пользователь может выбрать собственную тему. Ну аж клиентским скриптом менять директивы CSS было модно уже много лет назад.
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 9 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100