Голосуем за реализацию данного инструмента на автомате https://zebroid.ru/forum/topic/4006/
Сегодня мы научимся делать «Содержание документа», как в Википедии.
Для чего это нужно? Это улучшит юзабилити и качество документа. Яндекс любит, когда документ сделан для людей, вот этим то мы и сейчас займёмся.
Скажу сразу — необходимо будет сделать несколько различных манипуляций — поэтому потом сделаем «Каплю-макрос», который будет автоматически делать за нас всю работу.
Для начала, чтобы наша капля-макроса работала нужно определить Заголовки — по которым и будет формироваться Содержание. Данную процедуру необходимо делать вручную и без этого никак.
Что я имею ввиду: просмотрите свои документы — в них должны быть сформированы теги H1, H2, H3, H4...B,I… и т.д. Вот по этим тегам и будет наша капля-макроса на автомате делать Содержание.
БУДЕМ СОБИРАТЬ ДАННЫЕ ПО 3м ТЕГАМ: H2,H3,H4 (можно больше, но это вы уже сами по логике сделаете).
1)ПОИСК/ЗАМЕНА, СТАВИМ ГАЛОЧКУ «РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ. Нужно привести все теги (по которым будет формироваться содержание) в один вид.
Поиск:
([^<]+)
Замена:
< b>1332\1
О чём говорят эти строки: ищем всё, что внутри тега H2 — и переименовываем сам тег H2 — в
1332
Зачем? Чтобы было понятно — какие данные мы уже обработали.
То же самое проделываем с другими тегами, которые у вас есть в документе.
([^<]+)
1333\1
Данные "
1333" — должны отличаться — так как — нам нужно будет в конце — все теги поставить обратно.
([^<]+)
1334\1
и т.д. Можно какие угодно ставить теги для замены — хоть
— главное понимать, какое именно Содержание вы хотите видеть.
1.1) Записываем полученное правило замены в "soderj".
2) Вторым этапом мы формируем список Содержания и записываем его в самое начало документа. По необходимости потом вы сможете перенести отображение "Содержания" в любое другое место страницы.
ПОИСК/ЗАМЕНА, СТАВИМ ГАЛОЧКУ "РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
Поиск:
(.*)
([^<]+)(.*)
Замена:
\2
\1
Аналогичную запись повторяем ещё около 7 раз — т.к. данный код должен идти циклично.
2.1) Записываем полученный правило замены в "soderj2".
3) После сформирования "Содержания" вернём прежнию разметку документа, т.е. H1, H2....
Поиск:
Замена:
\2
Для других тегов аналогично, не забывая при этом прежних данных для разных тегов.
\2
\2
3.1) Записываем полученный правило замены в "soderj3".
4) Теперь приведём "Содержание" в красивый вид. Сделаем ограничение по длине в 50 знаков.
записываем:
soderj4
4.1) Записываем полученный правило замены в "soderj4".
5) Окружаем Содержание тегом для того, чтобы можно было эти данные перенести в нужное место страницы или переместить в доп. поля.
soderj5
9 комментариев
17 апреля 2014, 20:29
timaalex