Kamrad.ru

Kamrad.ru (https://kamrad.ru/index.php)
- Веб-дизайн, вёрстка и веб-программирование (https://kamrad.ru/forumdisplay.php?forumid=87)
-- Обработка большого числа страниц (https://kamrad.ru/showthread.php?threadid=61190)



Туманный Еж 16-05-2004 17:34:

Обработка большого числа страниц

Подскажите начинающему! Нужно внести одни и те же изменения в большое количество (около 200) статических HTML-страниц. Изменения вида - поправить ссылку в меню, поменять атрибуты параграфа (это страницы со статьями), расположение счетчика и т.п. Страницы одинаковые, за исключением введенного в одной ячейке таблицы текста. И, если можно, ответьте не просто ссылкой на какую-то прогу, а добавьте хоть пару слов о том, как ей пользоваться....
Заранее пасиб....



kildor 25-05-2004 20:26:

уфф...
Фар менеджер, егойный редактор, установи плагин Search&replace
поиск и замена... Если знаком с регЭкспами, то можешь все сразу заменить..
Также способен обработать файлы в директории - маска/выделение...
http://plugring.farmanager.com/ - там этот плагин...

(Все на русском, неплохие доки к нему идут..)



Alex Spade 27-05-2004 12:16:

В Dreamweaver есть встроенная функции массовых замен.



Туманный Еж 29-05-2004 14:31:

kildor, Alex Spade

пасиб.... "найти и заменить" - это, конечно, вещь... но не всегда работает. Вот, к примеру, надо мне в конце каждой каждой статьи поставить сслку - "обсудить в форуме", и тут функция поиска и замены бессильна.



Зереша 29-05-2004 14:43:

Вот, к примеру, надо мне в конце каждой каждой статьи поставить сслку - "обсудить в форуме", Такие вещи делаются по совершенно иному принципу -- через шаблоны страниц и скрипты PHP/Perl.



Туманный Еж 29-05-2004 15:52:

Зереша

то есть, если я правильно понял, в ХТМЛ-е делается шаблон страницы с пустым местом под статью, а потом средствами PHP/Perl на это место вставляются тексты из какой-то базы? если так, то можно ли где-то почитать описание примера? я покопался в ссылках из "Справочника...", но мне, как человеку начинающему, достаточно сложно продраться через материал, ориентированный на уже что-то понимающих. может быть с конкретным примером перед глазами проще пойдет.....



Alexvn 29-05-2004 17:20:

Туманный Еж
Perl и PHP для этого необязателен, достаточно воспользоваться SSI (если есть их поддержка на хостинге - как правило, есть).

Делаешь отдельную HTML-страничку, которая будет содержать в себе то, что требуется поместить в конце каждой статьи. К примеру, создаешь файл footer.html следующего содержания:

<br>
<a href=forum.html>Обсудить на форуме</a>
<br>

Затем в страницах со статьями в нужном месте вставляешь следующую строчку:

<!--#include virtual="footer.html" -->

При попытке открыть такую страницу со статьей сервер будет заменять этот include содержимым файла footer.html.



Туманный Еж 29-05-2004 21:43:

Alexvn

Уже веселее... Полезная штучка, не знал про такую, надо б про это почитать побольше....
Но проблема, тем не менее, остается - ведь есть уже готовые страницы, в которые и надо будет повставлять это самое <!--#include virtual="footer.html" --> Вручную долго и нудно.
Попробую переформулировать вопрос - вот есть пара сотен страниц со статьями. Они отличаются тематикой и, соответственно, имеют разное оглавление раздела. Сгруппированы по папкам, каждая папка содержит статьи одного раздела. Можно ли сделать (с помощью какой-то проги) следующее - взять одну страницу из папки, внести в нее какое-то изменение (примеры - убрать счетчик, изменить шапку, добавить строчку в оглавление) и применить сделанное ко всем страницам из данной папки? В Дримвивере есть шаблоны, но, насколько я понял, это применимо лишь к новым страницам, созданным на их основе. А мне нужно массово поменять старые.



Alexvn 29-05-2004 22:48:

Туманный Еж - если заменяемые фрагменты выглядят одинаково во всех страницах данной папки, то можно использовать массовую замену в одной из программ, рекомендованных выше.

Если фрагменты всюду разные, то автоматизировать работу вряд ли удастся...



kildor 29-05-2004 23:00:

смотря насколко разные...

Регулярные выражения - вещь хорошая....

Мне как то потребовалось привести все непарные теги под xhtml стандарт привести (вместо

code:
<br> - <br />
, с учетом того, что в них еще и классы/стили/id/и прочее, причем совем разнокалиберное... S&R - справился великолепно с таким вот квестом...

вот что тебе сменить надо?
Туманный Еж Вот, к примеру, надо мне в конце каждой каждой статьи поставить сслку - "обсудить в форуме", и тут функция поиска и замены бессильна.
А это еще вопрос, зависит от того, как у тебя статьи хранятся...
Хотя действительно, через php это делается легко, а статикой - бред полнейший..



Alexvn 30-05-2004 01:55:

kildor - почему бред, через SSI очень удобно, нужно сменить футер на всех страницах - изменил содержимое одного файла и получил изменение на всех страницах сразу. И не нужно изучать целый язык программирования.



Туманный Еж 30-05-2004 03:53:

Alexvn
Хорошо, конкретизирую вопрос.
Первое. Вот мне надо выставить везде порекомендованный тобой кусок кода, прям после статьи, видимо в той же ячейке таблицы. Окончания статей везде, естественно, разные. Как в данном случае, если такое возможно, применить поиск и замену?

Второе. В другой ячейке у меня оглавление раздела, вида:

<p class=pp2><b><font size="2" color="#BF4B4B">Другие статьи:</font></b></p>
<p class=pp1>
<img src="../../img/t.gif" width="4" height="4" border="0">  <a href="http://...../k26.htm">Последняя статья</a><br>
(.......)
<img src="../../img/t.gif" width="4" height="4" border="0">  <a href="http:/...../k01.htm">Первая статья</a><br>

И вот нужно мне в это оглавление вставить ссылку на еще одну статью, за номером, к примеру, k27, аккурат после <p class=pp1> Как? Дримвивер, насколько я понял. в ХТМЛ не ищет....



Зереша 30-05-2004 08:39:

Wink

Туманный Еж И вот нужно мне в это оглавление вставить ссылку на еще одну статью, за номером, к примеру, k27, аккурат после <p class=pp1> Как? Блин. Руками ;-) Если начать 16-го, то к 30-му можно сделать все 200 страниц ;-)



kildor 30-05-2004 10:16:

Alexvn
Может конечно я путаюсь в терминах, но ssi я не считаю статикой... Документ ведь собирается из частей на сервере...
Так что ssi - тоже вариант. . Я с ним не работал, поэтому и не предлагаю...
Туманный Еж

Ну, например через теги, если статья в одной ячейке находится, и этих ячеек немного, то что-нить типа /\w{1,6}</td></tr><tr>/ - но это надо видеть разметку, чтоб сказать точнее... плюс, не забывать про пробелы и переводы строки..
а второе - ну, если тебе надо свтавить аккурат после

code:
<p class=pp1>,
ну например так:
заменить /(<p class=pp1> )/
на $1\r\n<img src="../../img/t.gif" width="4" height="4" border="0">
<a href="http:/...../k27.htm">последняя статья</a><br>


(Это - для фара...)



Туманный Еж 30-05-2004 14:04:

Зереша
Да, блин, там еще архив поднять надо....... Итого за 500 набегает.........
В общем понял я, что самый оптимальный способ - это сделать всё сначала и заново. Заодно и внешний вид поменяю.....
Кстати, не подскажет ли кто хороший учебник по РНР, желательно представляющий из себя пример построения сайта? Или может где валяются РНР-шаблоны? Внутрь бы залезть, покопаться....



kildor 30-05-2004 19:08:

http://php.net
Перевод есть на http://pyramidin.narod.ru

http://dklab.ru и ихний форум..



Туманный Еж 30-05-2004 19:58:

угу, пасибки... будем почитать...


Текущее время: 10:08

Powered by: vBulletin Version 2.0.1
Copyright © Jelsoft Enterprises Limited 2000, 2001.
Любое использование материалов сайта
возможно только с разрешения его администрации.