Как гарантировано закомментировать любой кусок HTML ?

Добрый день хабрасообщество!

Возник интересный, и как выяснилось, нетривиальный вопрос. Необходимо вставить строки в html текст таким образом чтобы закомментировать произвольный блок с любым валидным содержанием.

Вариант 1. Пишем естественно:
<!-- 

тут наш код для отключения

-->


И сразу облом: Разрешается внутрь комментария добавлять другие теги, вложенные комментарии (когда один комментарий расположен внутри другого) не допустимы.

Наш комментарий разрывается любым вложенным комментарием ( проверьте сами)!

Далее я нашел замечательный тег
<comment> </comment>
Оказалось он поддерживается только IE, поэтому даже не стал смотреть как он работает.

Последняя идея была такой:
<script type="text/javascript"> /*

тут наш код для отключения

*/ </script>

Почти то что надо… до первого вложенного скрипта! Если внутри окажется то после закрывающего тега все оказывается раскомментированным.

А какой способ знаете вы?
  • Вопрос задан
  • 116140 просмотров
Пригласить эксперта
Ответы на вопрос 8
taliban
@taliban
php программист
Я бы посоветовал вырезать нужный кусок кода и вставить в другой файл с таким же названием.back
плюсы:
— выбранный блок 100% не виден
— выбранный блок не грузит трафик пользователей
— выбранный блок всегда под рукой если будет нужен в дальнейшем

минусы — нужен еще один файл.
Ответ написан
Gibbzy
@Gibbzy
<?php /*
комментарий
*/?>


ну как вариант )
Ответ написан
Комментировать
butteff
@butteff
Раз в тысячу лет заправляю свитер в носки
комментарий

Не знаю даже, озадачился вопросом =)
Ответ написан
MTonly
@MTonly
Веб-разработчик с 2002 года
В долгосрочной перспективе имеет смысл отказаться от программной системы, вынуждающей вас сталкиваться с подобными задачами.
Ответ написан
sainnr
@sainnr
Если такой вариант подойдет, то можно добавить теги script:
<script> 
/* разметка */ 
// или так
</script>
Ответ написан
Nodge
@Nodge
Пока вижу единственный вариант: jsfiddle.net/6Xr2w/1/

1. Комментировать внутри script однострочными комментариями
2. У вложенных тегов </script> заменять скобки на &lt; и &gt;
3. Скрипт первого уровня оборачивать в <![CDATA[...]]>, для валидности =)
Ответ написан
barsu4ok
@barsu4ok
друзья, так всё-таки как?

<?php /*
комментарий
*/?> не работает

первые варианты тоже

с display:none — вообще риск
Ответ написан
@Gitley
<!-- Коммент ВРЕМЕННЫЙ

<! Коммент постоянный 1 >
<div class="a">
	<p>Lorem ipsum dolor sit, amet.</p>
</div>

<! Коммент постоянный 2 >
<div class="b">
	<p>Lorem ipsum dolor sit amet.</p>
</div>	

<! Коммент постоянный N >
<div class="c">
	<p>Lorem ipsum dolor sit amet.</p>
</div>	
 
 -->

Вот нагуглил. Я начал только, в смысле новичок, поэтому не проверял во всех браузерах, только в Хроме. Не знаю пройдут ли такие комменты валидацию, потому что про валидацию слышал, но не гуглил;) Но сублимовская подсветка синтаксиса подобные комменты даже адекватно отображает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы