Комментирование автоматизации закрытия div

StackOverflow https://stackoverflow.com/questions/2113850

  •  22-09-2019
  •  | 
  •  

Вопрос

Я ищу решение крысиного гнезда кода, который мне вручили - он огромен по объему, поэтому я ищу предложения по программному подходу к комментированию того, какой div где закрывается.

Пример:

ДО

<div id="wrapper-item">
<div id="outer-item">
    <div class="inner-item">
<h1>Just Some Placekeeper Copy</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing.</p>
    </div>
</div>  
</div>

ПОСЛЕ

<div id="wrapper-item">
<div id="outer-item">
    <div class="inner-item">
<h1>Just Some Placekeeper Copy</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing.</p>
    </div><!-- .inner-item -->
</div><!-- #outer-item -->      
</div><!-- #wrapper-item -->

Я безуспешно попробовал несколько попыток Regex, мне было бы интересно узнать, какой подход лучше всего.

Это было полезно?

Решение

Если это действительный xhtml, вы можете просто поместить его в XML-документ, а затем приступить к обработке тегов div, найдя их все, а затем добавить родственный элемент с нужным вам узлом комментариев.

Другие советы

Одно регулярное выражение может сработать, но, возможно, лучше написать программу, дополненную регулярными выражениями.Получить текст между < div id=" и >, затем добавьте его в список или стек и свяжите по порядку с индексом int.Продолжайте сканировать его и, найдя тег '', извлеките новый текст из стека и отформатируйте его, чтобы он стал комментарием.

Я просто использую скрипт для правильного отступа в HTML, чтобы я мог сразу проверить, правильно ли закрыты все теги - правильный отступ возвращается к левому полю.Чтобы проверить, какое открытие соответствует закрытию, я использую складной текстовый редактор, такой как SciTe или Komodo Edit, чтобы я мог просматривать код с правильными отступами, открывая и сворачивая разделы.

Если кого-то заинтересует скрипт отступов (написанный на tcl), могу его куда-нибудь выложить.Альтернативно вы можете попробовать использовать что-то вроде HTMLTidy для форматирования.

Вы можете использовать API XML/DOM для определенного языка и экспериментировать с тем, как он обрабатывает объекты комментариев.Например, Питон -- http://docs.python.org/library/xml.dom.html#comment-objects

<div>whatever</div>
<!-- this comment is already deprecated -->

Просто используйте достойный редактор, который выделяет начальный/конечный тег.Даже NotePad2 делает это.Большинство редакторов также могут выбирать тег и содержимое или только содержимое.Многие редакторы также переформатируют HTML за вас (если вы осмелитесь).

Комментирование конца тега может рассинхронизироваться, и вам или вашим коллегам будет еще труднее следить за ним.

Если вы в конечном итоге успешно добавите избыточные комментарии к каждому тегу div, span, p, ul и т. д., я думаю, вы обнаружите, что код станет еще более раздутым и нечитаемым.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top