Замена части HTML кода на свой

Все что связано с Дизайном и Веб-Дизайном. От полиграфии и рекламных роликов до хостингов выпадающих менюшек и фреймов :)

Сообщение Anatoly » Чт апр 22, 2004 7:30 am

Не редко скачиваю учебники с нета или странички! Все бы хорошо, но оформление страницы зачастую очень мешает! Чаще всего при удалении "шабки (head и начало body) весь дизайн пропадает! Остается только лишь добавить кнопки назад и вперед и учебник готов! До сих пор я скачавал страницы и после в ручную убирал текст из каждого HTML файла
ВОПРОС: Как это сделать автоматически? К примеру через стандартную замену неполучается тексты "шапок" немного разные! А как бы автоматизировать этот процесс ??
<a href="http://metric.rodim.ru" target="_blank">Изображение</a>

<a href="http://www.last.fm/user/pearin/?chartstyle=overallnamostylewoborder" target="_blank">Изображение</a>
Anatoly
Полковник
 
Сообщений: 1704
Зарегистрирован: Вс мар 31, 2002 5:50 pm
Откуда: Krasnodar/RUSSIA
Пункты репутации: 0

Сообщение SiMM » Чт апр 22, 2004 9:14 am

Под Far есть такой плагин - <a href='http://plugring.farmanager.com/cgi-bin/downld.cgi?Draw=List&Sort=Date&SelectCateg=S%26R&Select=PlugIn&SelectPlugIn=229&SelectAuthor=0&SelectOther=1&SearchText=' target='_blank'>Search & Replace</a> - позволяет проделать вышеуказанные тобой действия при помощи регулярных выражений. Хотя, при желании то же самое можно делать при помощи perl'а или PHP ;)
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Anatoly » Чт апр 22, 2004 11:26 am

2SiMM
А в нем можно кусок текста зазвиздить (*****) где под свездочкой любой символ?
<a href="http://metric.rodim.ru" target="_blank">Изображение</a>

<a href="http://www.last.fm/user/pearin/?chartstyle=overallnamostylewoborder" target="_blank">Изображение</a>
Anatoly
Полковник
 
Сообщений: 1704
Зарегистрирован: Вс мар 31, 2002 5:50 pm
Откуда: Krasnodar/RUSSIA
Пункты репутации: 0

Сообщение SiMM » Чт апр 22, 2004 2:35 pm

<!--QuoteBegin-Anatoly+Apr 22 2004, 15:26--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата (Anatoly @ Apr 22 2004, 15:26)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> 2SiMM
А в нем можно кусок текста зазвиздить (*****) где под свездочкой любой символ? <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd-->
Пример приведи, что на входе, что на выходе - если мне будет не лениво - получишь регулярник для реализации Изображение
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение CSX » Чт апр 22, 2004 3:02 pm

2Anatoly
Конкретно для (*****) -- так

Код: выделить все
\(.*?\)


Читай вот это <a href='http://perldoc.narod.ru/regexp2-ref.pdf' target='_blank'>http://perldoc.narod.ru/regexp2-ref.pdf</a> Я вообще распечатал, положил на стол и постоянно пользуюсь.
<a href="http://allguitar.info" target="_blank">allguitar.info</a>
CSX
Подполковник
 
Сообщений: 737
Зарегистрирован: Вт май 13, 2003 7:53 am
Откуда: Владивосток
Пункты репутации: 0

Сообщение Anatoly » Чт апр 22, 2004 3:43 pm

Итак по подробнее!!!

Берем какой-нить учебник на языке HTML состаящий из 8 глав т.е. (1.htm - первая глава, 2.htm - вторая глава ... 8.htm - 3 глава) и хотим убрать это перегруженное графикой оформление!!!!

Код: выделить все
<html>











<head>
<title>Брэнд как основа маркетинга - Практический маркетинг - Теория и практика финансового анализа, инвестиции, менеджмент, финансы, журналы и книги, бизнес-планы реальных предприятий, программы инвестиционного анализа и управления проектами, маркетинг и реклама</title>
<meta name="Description" content="Сегодня маркетинг, судя по мировой практике, стал ключевым элементом любого бизнеса. В России его роль еще не до конца осознана. Вопросы «Что такое маркетинг?», «Почему эта сфера требует особого внимания?», «Каких результатов можно ожидать?» трактуются не всегда однозначно. Поэтому, прежде всего, определимся, зачем нужен маркетинг - Корпоративные финансы, инвестиции, бизнес-планирование, финансовый анализ">
<meta name="Keywords" content="библиотека корпоративные финансы экономика литература журнал банк инвестиции бизнес-план консалтинг оценка акции рентабельность эффективность стоимость финансовый анализ планирование инвесторы обучение маркетинг прогнозирование аудит показатели управление менеджмент">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="/include/def.css">
<body bgcolor=#ffffff text=#333333 link=#0033cc alink=#0033cc vlink=#666666 topmargin=0 leftmargin=0 rightmargin=0 marginwidth=0 marginheight=0><noindex>

<table width=100% height=100% border=0 cellspacing=1 cellpadding=0>
<tr>
<td bgcolor=#336699 width=100% align=center><img src="/images/title.gif" width=440 height=40 border=0 alt="Корпоративный менеджмент" vspace=10><br><table width=100% border=0 cellspacing=0 cellpadding=0 bgcolor=#993366><td height=6><spacer height="6" width="1" type="block"></spacer></td></table></td>
<td bgcolor=#336699 width=72><img src="/images/emblem.gif" width=72 height=60 border=0><br><table width=100% border=0 cellspacing=0 cellpadding=0 bgcolor=#003366><td height=6><spacer height="6" width="1" type="block"></spacer></td></table></td>
</tr>
<tr><td bgcolor=#666666 height=2><spacer height="2" width="1" type="block"></spacer></td><td bgcolor=#666666 height=2><spacer height="2" width="72" type="block"></spacer></td></tr>
<tr><td bgcolor=#e6e6e6>

<!-- Навигация -------------------------------------- -->

<table width=100% border=0 cellspacing=0 cellpadding=0>
<td width=12 nowrap><spacer height="1" width="12" type="block"></spacer></td>
<td width=100%><font size=-1 class=tx2><a href="/">Начало</a>













<font size=1 class=navarr>></font> <a href="/press/">Журналы</a>


<font size=1 class=navarr>></font> <a href="/press/practical/">Практический маркетинг</a>


<font size=1 class=navarr>></font> <a href="/press/practical/2000-06/">№6 2000</a>

</font></td>
<td align=right>

<!-- /Навигация -------------------------------------- -->

<table border=0 cellspacing=5 cellpadding=0>
<form action="/search.zhtml" method="GET"><input name=ul type=hidden value="cfin.ru/"><input name=wm type=hidden value="wrd">
<td nowrap><font size=-1 class=tx2>Поиск:</font></td>
<td><input name=q size=12 class=inp style='width:120px;height:20px;'></td>
<td width=19 nowrap><input type=Image name=submit src="/images/arr.gif" width=17 height=17 border=0 alt="искать"></td>
</form>
</table>
</td>
</table>

</td><td bgcolor=#cccccc align=center><a href="01.shtml?printversion"><img src="/images/2prn.gif" width=17 height=17 border=0 alt="версия для печати"></a></td></tr>
<tr><td bgcolor=#666666 height=2><spacer height="2" width="1" type="block"></spacer></td><td bgcolor=#666666 height=2><spacer height="2" width="72" type="block"></spacer></td></tr>
<tr valign=top><td bgcolor=#ffffff height=100%>

<!--  Верхний баннер -->
<center><table border=0 cellspacing=6 cellpadding=1><td bgcolor=#cccccc><table border=0 cellspacing=1 cellpadding=0 bgcolor=#ffffff>
<td></td></table></td></table></center>
<!-- /Верхний баннер -->
<table width=100% border=0 cellspacing=0 cellpadding=10><td></noindex>
<!-- Текст статьи -------------------------------------- -->



Нужно отыскать во всех 8 файлах и нахрен поменять на к примеру свою шапку

[code]
<head> <title>111 </title> </head> <body> ...

В чем же проблема? А вот в том что каждая глава имеет свое название и как следствие разный <title> т.е. замена нужна чтобы сказать "между символами <title> </title> ybabuf не трогаем!!! Вот! Можно ли такое сделать?
<a href="http://metric.rodim.ru" target="_blank">Изображение</a>

<a href="http://www.last.fm/user/pearin/?chartstyle=overallnamostylewoborder" target="_blank">Изображение</a>
Anatoly
Полковник
 
Сообщений: 1704
Зарегистрирован: Вс мар 31, 2002 5:50 pm
Откуда: Krasnodar/RUSSIA
Пункты репутации: 0

Сообщение panda » Чт апр 22, 2004 8:58 pm

программка есть называется вебломастер <a href='http://sstfree.narod.ru' target='_blank'>http://sstfree.narod.ru</a>
попробуй - меня она удивила.
<div align="center">Панды занесены в Книгу рекордов Гиннеса как самые привлекательные из редких животных</div>
panda
Генерал-майор
 
Сообщений: 2459
Зарегистрирован: Вс авг 10, 2003 7:35 pm
Откуда: Владивосток
Пункты репутации: 0

Сообщение SiMM » Пт апр 23, 2004 4:43 am

<!--QuoteBegin-Anatoly+Apr 22 2004, 19:43--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата (Anatoly @ Apr 22 2004, 19:43)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Нужно отыскать во всех 8 файлах и нахрен поменять на к примеру свою шапку

<head> <title>111 </title> </head> <body> ...<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->Что-то вроде
Код: выделить все
Искать: ~<head>.*?(<title>.*?</title>).*</head>~si
Заменить: твоя шапка, в которой на месте, где должен быть титл, стоит $1
Если делать это в Far'е, необходимо производить операцию поиска и замены вне редактора (в редакторе многострочники не работают).
IRC: <a href='http://www.fileforum.ru/irc.php' target='_blank'>RUSNET #fileforum</a> (irc.tsk.ru:6669)
SiMM
Подполковник
 
Сообщений: 588
Зарегистрирован: Чт июн 13, 2002 8:41 am
Пункты репутации: 0

Сообщение Миша Спларов » Пт апр 23, 2004 6:44 am

2Anatoly
Можно написать скрипт на php - и заменять с помощью с ним. Пишется в течении 15-30 минут, если знаешь regexp и php, естевственно. Ещё легче это делается на perl. Всё что ты спрашивал можно сделать и там и там. Или пользуйся вышепредложенными способами. Но в любом случае, если содержание одинаковых элементов разное, нужно знать регулярные выражения.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение CSX » Пт апр 23, 2004 7:08 am

Ты учебник-то скачай. Там все понятно до безобразия. Да и сама по себе справа Search&Replace являет хороший учебник.
<a href="http://allguitar.info" target="_blank">allguitar.info</a>
CSX
Подполковник
 
Сообщений: 737
Зарегистрирован: Вт май 13, 2003 7:53 am
Откуда: Владивосток
Пункты репутации: 0

Сообщение Anatoly » Сб апр 24, 2004 10:09 am

2Bamse
Пасибо! Учебничек скачал!

2J0hn
Прога суперская! В любом случае она мне очень поможет!
<a href="http://metric.rodim.ru" target="_blank">Изображение</a>

<a href="http://www.last.fm/user/pearin/?chartstyle=overallnamostylewoborder" target="_blank">Изображение</a>
Anatoly
Полковник
 
Сообщений: 1704
Зарегистрирован: Вс мар 31, 2002 5:50 pm
Откуда: Krasnodar/RUSSIA
Пункты репутации: 0

Сообщение Ciber SLasH » Сб май 22, 2004 4:57 pm

У меня такой вопросик: как можно с помощью регулярных выражений заменить такой кусок кода:
..<tr>
...<td>123
...</td>
...<td width=100>
...<p align=top>111</p>
...</td>
..</tr>
..<tr>
------- где "." -- это пробел --------
на такой:
<tr><td>123<td>111
<tr>
-----------------------------------------
не могу врубиться как поставить всё в одну строку между тегом <tr> и новым <tr>'ом, как в примере ??
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0

Сообщение Миша Спларов » Вт май 25, 2004 5:56 pm

<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Цитата </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->не могу врубиться как поставить всё в одну строку между тегом <tr> и новым <tr>'ом, как в примере ?<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd-->
\s+ поставь между закр. и откр.
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

Сообщение Ciber SLasH » Вт май 25, 2004 8:30 pm

Ты не понял: нужно из исходного текста удалить все пробелы и табуляции вначале каждой строки, теги </tr>, </td>, <p></p> и куски вида: " width=100", а потом выстроить всё от тега <tr> до следующего <tr>'a в одну строку.
Я смог только удалить весь мусор, а выстроить в одну строку не удалось.
Вот удаление мусора: </tr>|</td>| width=[\d"%]+|</{0,1}p[ \w="]*>
А дальше как ?

Забыл сказать: сначало удаление всех пробелов и табуляций вначале каждой строки: (?m)^\s+
А дальше, то что выше.
Короче получается несколько проходов:
1) удаление всех пробелов и табуляций вначале каждой строки
2) удаление мусора
3) выстраивание в одну строку всего, что между соседними тегами <tr>
Возможно порядок нужно поменять ?
Последний раз редактировалось Ciber SLasH Вт май 25, 2004 8:37 pm, всего редактировалось 1 раз.
Ciber SLasH
Майор
 
Сообщений: 314
Зарегистрирован: Пн ноя 24, 2003 11:28 am
Откуда: Питер
Пункты репутации: 0

Сообщение Миша Спларов » Сб май 29, 2004 8:38 am

2Ciber SLasH
1) /(>\s+<)/ заменяем на "><"
2) /^(\s+)/ заменяем на ""
«Проектирование интерфейсов — увлекательный дизайнерский процесс. Схожее удовольствие можно получить от сложной верстки, от создания многомерных схем и решения других задач на логику и эстетику». (q) A. Лебедев
Миша Спларов
Генерал-лейтенант
 
Сообщений: 3022
Зарегистрирован: Пн апр 22, 2002 7:58 am
Откуда: Россия, Томск
Пункты репутации: 0

След.

Вернуться в Дизайн + web-дизайн

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

cron