Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTML + CSS -> HTML / 13 сообщений из 13, страница 1 из 1
13.10.2008, 12:17
    #35590939
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
Задача достаточно проста:
есть HTML и CSS файл для этого HTML, надо получить новый HTML, чтобы всё было в одном файле. т.е. все стили были прописаны в тэгах и не было никаких стилей.
например:
CSS:
Код: plaintext
1.
2.
<style type="text/css">
.class_test {font-weight: bold; font-size:14px;}
</style>

HTML:
Код: plaintext
<span class="class_test">test1</span>

=>HTML
Код: plaintext
<span style="font-weight: bold; font-size:14px;" >test1</span>


Может есть какая-нить програмка, так сходу в гугле не нашёл...:(
...
Рейтинг: 0 / 0
13.10.2008, 12:36
    #35590994
Ps-spectre
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
сорь, оффтоп.
А где это может понадобиться? Наоборот стараются все стили вынести в отдельный файл.
...
Рейтинг: 0 / 0
13.10.2008, 12:38
    #35590999
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
Ps-spectreсорь, оффтоп.
А где это может понадобиться? Наоборот стараются все стили вынести в отдельный файл.

в болгах...там низя свои стили делать :(
...
Рейтинг: 0 / 0
13.10.2008, 12:44
    #35591006
Ps-spectre
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
А, сенкс, таки да, понятно тогда.
...
Рейтинг: 0 / 0
13.10.2008, 13:39
    #35591176
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
блин...говорят пиши парсер :(
...
Рейтинг: 0 / 0
13.10.2008, 13:58
    #35591230
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
может у кто-нить видел CSS парсер...? на PHP например...?
...
Рейтинг: 0 / 0
13.10.2008, 14:06
    #35591253
Alex721
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
по сабжу

SSI + #include
...
Рейтинг: 0 / 0
13.10.2008, 14:31
    #35591319
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
Alex721по сабжу

SSI + #include

что-то я не понял :(...
...
Рейтинг: 0 / 0
13.10.2008, 15:59
    #35591603
зы
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
а он сам не понял
...
Рейтинг: 0 / 0
14.10.2008, 03:34
    #35592472
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
LykovAlekseyможет у кто-нить видел CSS парсер...? на PHP например...?
ё-маё, да такой парсер быстрее написать, чем найти. Мне быстрее написать на js, на пхп сами переделывайте, ну и недочеты не исключены.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Noname  1 </title>
<script>
function parse()
{
	var txt = document.getElementById('html').value;
	var re = /<style.*?>([^<]*)<\/style>/gm;
	var result, hClass={};
	while ((result = re.exec(txt))!=null)
	{
		var classList = result[ 1 ].split('\r\n');
		for (var i= 0 ; i<classList.length; i++)
		{
			if (classList[i])
			{
				var selector = classList[i].slice( 0 ,classList[i].indexOf('{')).replace(/\.| /g, '');
				var definition = classList[i].slice(classList[i].indexOf('{')).replace(/ ?({|}) ?/g, '');
				hClass[selector] = definition;
			}
		}
	}
	txt = txt.replace(/<(style)[^<]*<\/\ 1 >(\r\n)?/g,'');
	txt = txt.replace(/class *= *["']?([^'" >]*)["']?/g,function($0,$1){return 'style="'+hClass[$1]+'"'; });
	document.getElementById('result').value = txt;
}
</script>
</head>

<body>
Исходный текст+цсс:<br>
<textarea id="html" cols="100" rows="20">
<style type="text/css">
.class_test {font-weight: bold; font-size:14px;}
.class_test2 {color:red;}
</style>
<span class="class_test">test1</span>
<span style="font-weight: bold; font-size:14px;" >test1</span>
<style>
.class_test3 {color:blue;}
</style>
<div class='class_test3' >test2</div>
<p class=class_test2>test3</p>
</textarea>
<br>
<input type="button" onclick="parse()" value="parse">
<br>
Итог:<br>
<textarea id="result" cols=" 100 " rows=" 20 ">
</textarea>

</body>
</html>
...
Рейтинг: 0 / 0
14.10.2008, 08:26
    #35592549
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
ООО круто впринципе так и думал делать - типа такой же храмой версии(sorry)... но а какже стили по приоритету, по ID, по наследованию, согласно стандарту там CSS2. Для задания только через атрибут style конечно подойдёт, потестирую :)
...
Рейтинг: 0 / 0
14.10.2008, 12:01
    #35593013
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
LykovAlekseyООО круто впринципе так и думал делать - типа такой же храмой версии(sorry)...
ниче страшного, я того же мнения

LykovAlekseyно а какже стили по приоритету, по ID, по наследованию, согласно стандарту там CSS2.
ну тогда ноги в руки и вперед - пишите парсер. В сети вряд ли найдете, ибо задача обычно обратная стоит перед веб-мастером. С приоритетом тут все понятно - перезаписать свойства из .class свойствами из #id, а свойства из #id - свойствами из style. С наследованием пока не понимаю как лучше сделать. Если по элементам как по дереву DOM ходить - то это легче, а если работать с html чисто как с текстом - то это другое. А с "согласно стандарту там CSS2" чего делать собираетесь? Типа если это не по стандатру, то отрезать нафиг?
...
Рейтинг: 0 / 0
14.10.2008, 12:06
    #35593028
LykovAleksey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML + CSS -> HTML
С невалидными CSS даже связываться неохота... вообщем в своей задаче решил ограничится минимальным синтаксисом "style" :) спс. :)
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTML + CSS -> HTML / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]