pre в HTML


Содержание

Теги HTML5 — pre.

Интернет эксплорер Google Chrome Опера Firefox Сафари, то есть тег поддерживается во всех основных браузерах.

Определение и использование. Тег определяет предварительно отформатированный текст. Текст в элементе отображается шрифтом фиксированной ширины( обычно Courier) и это сохраняет пространства и разрывы строк. Используйте элемент при отображении текста с необычным форматированием, или своего рода компьютерный код. Тег точно определяет блок предварительно форматированного текста на странице сайта.

Предварительно форматированный текст отображается моноширинным шрифтом и со всеми пробелами между словами и строками. По умолчанию, любое количество пробелов идущих в коде подряд на странице сайта отображается как один. Элемент сохраняет так как есть и отображает текст как требуется разработчику страниц сайта. В отличие от тега , применение которого осуждается в HTML 4, внутри контейнера допускается применение любых тегов, кроме следующих тегов, а именно: , , , , и . Хотя Вы можете убедиться. что некоторые из них в некоторых браузерах прилично работают.

Отличия между HTML 4.01 и HTML5. Атрибут «ширина» является устаревшим в HTML 4.01 и не поддерживается в HTML5.

Основы разметок HTML дают необходимый минимум материала, чтобы отображать документ на странице сайта. В настоящее время в разработках HTML наблюдается следующий цикл создания основ HTML. На более высоком интерактивном уровне. В самих разметках создаются атрибуты, которые самостоятельно оживляют действия над объектами при создании и оформления страниц сайта. Будет прорыв основ HTML в голосовом управлении всеми действиями на страницах сайта. Все трудоемкие процессы по созданию сайта возьмет на себя машина и основы HTML преобразятся. Что из этого выйдет — покажет время, точнее идет прорыв в данном направлении.

Атрибуты

Атрибут Значение Описание
width number В HTML5 не поддерживается. Deprecated в HTML 4.01 Задает максимальное количество символов в строке

Тег поддерживает Глобальные атрибуты в HTML: КЛИКНИ СЮДА

Тег также поддерживает Атрибуты событий в HTML: КЛИКНИ СЮДА

Пишем программу — Предварительно отформатированный текст:

PRE и NOWRAP в CSS: свойство white-space

19 февраля 2010 8 Рубрика: HTML&CSS, Важные мелочи

« Предыдущая запись
Красивое раскрывающееся меню на jQuery
Следующая запись »
Как выделить все чекбоксы одним кликом? JavaScript способ, и три способа на jQuery

Пишу в качестве напоминания, что в CSS есть аналог тегов

и ), то мы получим тот же эффект, что и через свойство css. Аналогично достигается в таблице путём дописки параметра nowrap в теге td. Так что всё на вкус и на цвет, а что использовать — решать вам.

, но, в отличие от него, не меняет шрифт на моноширинный; 2) не работает в IE6 и младше; 3) работает в IE7 только при указании .

В общем, white-space: pre и white-space:nowrap имеют место для частого использования (особенно второй, так как кроссбраузерен), а два последних под вопросом. Тем не менее.

В рамках white-space опишу одну проблему, возникающую с хайлайтерами (скрипты, которые подсвечивают код в блогах) — текст в тегах PRE не переносится, а скролится. Для этого был создан универсальный метод (ссылка на оригинал) , который я ниже и приведу.

Это наиболее полный код, однако и его можно сократить. Для начала удалим вторую строку, так как она бесполезна — зачем говорить тегу pre, чтобы он вёл себя как тег pre. Четвёртую строку тоже можно удалить, так как свойство удаляет дополнительные пробелы, а они нужны. Шестую строку также можно опустить, сами догадайтесь почему. По большому счёту можно вообще оставить только третью и девятую строки, так как даже седьмая опера уже канула в лету.

Пожалуй это всё, что нужно знать о white-space. До новых встреч! =)

Вставка примеров html-кода на сайт. —

В связи с ведением данного блога, периодически приходится вставлять на сайт фрагменты html и css кода. В процессе реализации нормального решения, выяснилось что адекватного описания готовых решений на русском языке почему-то не найти, так что восполнить пробел придётся самостоятельно.

Начнём с простого:

Как вставить в текст html-код?

Для вставки в текст на сайте одного — двух тегов можно использовать html символы для вставки > для вставки > таким образом, тег

Подключение скрипта оформления кода:

2) Подключаем файлы js и css. Так же, понадобится подключенная библиотека Jquery.

3) Настраиваем скрипт:

4) Более навороченная документация для скрипта есть на сайте разработчиков. Скрипт может менять оформление на лету, выделять необходимые куски кода в рамочки, выносить мусор и готовить еду.

Заголовки html (теги h1-h6), html форматирование текста (теги strong, b, em, i, blockquote, pre)

Здравствуйте, уважаемые читатели! Продолжаю публикации в разделе «Основы html» и сегодняшний пост будет посвящен формированию заголовков html (теги h1-h6), а также способам форматирования html текста путем выделения необходимых слов или фраз (теги strong, b; em, i) и фрагментов текста (теги blockquote, pre).

Надо сказать, что данные инструменты очень часто бывают востребованными в работе вебмастера, поэтому я счел нужным о них рассказать, тем более, что правильное применение вышеназванных тегов html способствует успешной раскрутке проекта. Вообще говоря, вся информация, которую я предлагаю, очень важна, ее объем продуман, поэтому старайтесь ознакомиться с ней как можно ближе, ничего лишнего я стараюсь не давать.

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

Теги заголовков h1-h6

Уверен, многие из вас уже неоднократно сталкивались с тегами заголовков h1-h6, однако, возможно, некоторые недооценивают их важность с точки зрения seo. Дело в том, что эти теги играют не последнюю роль в деле оптимизации и раскрутки сайта и я постараюсь коснуться этого аспекта тоже. Название элементы h1-h6 получили от заглавной буквы английского слова «Header» (заголовок). Синтаксис заголовков в html коде выглядит следующим образом:

Прописывая этот кусок html кода при отображении в браузере мы получаем:

Самый верхний уровень 1, самый низкий — 6. Таким образом любой текст можно классифицировать с точки зрения его важности. Теги h1-h6 являются блочными, поэтому заголовок, определяемый ними, занимает все возможное пространство по ширине. Однако, несмотря на то, что эти элементы являются блочными, они не должны содержать другие блочные теги, только строчные. Если касаться оптимизации статей и всего ресурса в целом, то можно выделить несколько рекомендаций:

  • Заголовки h1 h2 h3 наиболее важны с точки зрения ранжирования поисковыми системами, соответственно они наиболее востребованы и часто используемые. Рекомендуется заголовок тега h1 использовать один раз на странице (обычно он располагается на странице со статьей в качестве названия поста, у меня пока на блоге немного не так, но я собираюсь исправить ситуацию). Заголовок h2 применяется для подзаголовков, если материал большой и его надо разделить на логические части, h3 — для подзаголовков логических фрагментов этих частей; кроме того, h2 и h3 допускается использовать на главной странице и страницах категорий.
  • Теги h4, h5, h6 применяются редко, поскольку слабо учитываются при ранжировании. Однако, если статья большая и необходимо выделить какие-то фрагменты для удобства читателей, то приходят на помощь и они (например, в объемном мануале в каждой из частей, определяемой элементом h3, требуется выделить логические куски с подзаголовком h4). Кроме того, теги h4, h5, h6 могут быть использованы для названий каких-либо блоков в сайдбаре, футере (подвале) и т.д.
  • Желательно использовать заголовки h1, h2, h3 в обязательном порядке. Конечно, я не проводил анализа строгости поисковиков при несоблюдении этого правила, однако логично предположить, что это учитывается при ранжировании.
  • Необходимо добавить, что в содержание заголовков, особенно h1-h3, в обязательном порядке должны входить ключевые слова, определяемые при составлении семантического ядра, поскольку поисковые системы именно ключевым словам и фразам придают большое значение.

Ну, и само собой, использование тегов html заголовков, и это главное, делает материал более удобным для восприятия пользователями. Что касается атрибута align тегов h1-h6, то сейчас я о нем говорить не буду, поскольку он не рекомендуется к применению по правилам спецификации html. Как разнообразить внешний вид подзаголовков с помощью приемлемых методов, которые не нарушат валидность html документа, мы поговорим, когда приступим к изучению основ стилей css.

Форматирование текста при помощи специальных HTML тегов

Форматирование текста — это выбор средств для его изменения, таких как редактирование шрифта или использование разнообразных эффектов. Во многих случаях правильное их использование вносит свою лепту в дело продвижения сайта.

Логическое и физическое форматирование — особенности использования каждого из них


Отмечу разницу между тегами логического и физического (визуального) форматирования. Физическое предназначено прежде всего пользователям, которое позволяет выделить для них важные участки текста. Логическое же делает акцент на выделенный текст поисковым машинам, которые учитывают этот участок при ранжировании.

Наиболее ярким примером служат strong и em, которые являются тегами логического форматирования, а соответственно b и i — физического форматирования. При отображении в браузере текста, обрамленного тегами strong и b (выделение жирным), em и i (выделение курсивом), визуальной разницы не ощущается:

Поговаривают, что значение тегов strong и em за последнее время серьезно упало и поисковые машины сейчас мало внимания им уделяют. Однако, я все-таки не советовал бы увлекаться их применением, отмечая ими ключевые слова, тем более, что существует разумная альтернатива в лице элементов em и i.

Какие еще есть теги, позволяющие форматировать текстовое содержание

Теперь еще несколько слов о других тегах форматирования текста, которые применяются крайне редко, но все же нужны, раз они существуют. Возможно, кому-то эта информация окажется полезной. Отмечу по обыкновению лишь те теги, которые соответствуют спецификации html 5. Начнем с тегов физического (визуального) форматирования (теги b и i рассмотрены выше).

    Small — служит для уменьшения размера шрифта на единицу, если сравнивать с обычным текстом.

Sub — текст отображается в виде нижнего индекса

Sup — отображение текста в виде верхнего индекса

Безусловно, это только некоторые элементы физического форматирования, однако я выбрал только те, которые валидны по отношению к html 5, остальные рекомендуется заменять стилями css, с которыми вскоре я вас ознакомлю. Далее приведу примеры тегов логического форматирования.

    Abbr — указывает на то, что данная последовательность символов является аббревиатурой. Расшифровка сокращения осуществляется с помощью атрибута title и всплывает при подведении курсора к тексту.

Cite — применяется для выделения цитат

Code — применяется для отображения разнообразных кодов, например, кода скрипта

Del — выделяет текст, перечеркивая его. Очень полезно, когда надо отметить текст, удаленный из новой версии документа. Применение этого тега позволяет отслеживать изменения, которые были сделаны в тексте.

Ins — выделяет текст, подчеркивая его. Показывает тем самым, что этот фрагмент текста был вставлен после опубликования документа.

  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка
  • Илон Маск рекомендует:  Что такое код mb_preferred_mime_name

    Представленные выше теги логического и физического форматирования часто не встречаются при написании html кода, однако знание о них необходимо хотя бы для выяснения их роли в современном продвижении сайтов. Далее рассмотрим еще два тега форматирования текста html, которые играют не последнюю роль.

    Как вставить цитату посредством blockquote и выделить текстовый фрагмент с помощью pre

    Html тег blockquote служит для форматирования текста, выделяя цитаты внутри документа. Он достаточно распространен и часто используется при написании постов на сайтах и блогах определенной тематики. Вот пример:

    Тег blockquote является парным и может включать в себя как блочные (например теги абзацев p), так и строчные элементы.

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

    Ну, и напоследок еще об одном элементе форматирования, который достаточно часто бывает востребованным — теге pre. Этот элемент позволяет отобразить предварительно отформатированный непосредственно в коде html фрагмент текста. Особенность отображения в браузере по умолчанию заключается в том, что любое количество пробелов, которые идут последовательно, передается на вебстранице как один. Тег pre помогает обойти эту специфическую особенность. То есть то и как вы написали, точно будет воспроизведено на странице, если участок текста заключен между открывающим и закрывающим тегами pre.

    Точно в таком же виде текст отобразится в браузере:

    Ну, вот, пожалуй, это все, о чем я хотел сегодня рассказать применительно к тегам заголовков h1-h6, а также основным элементам форматирования html текста. Продолжение обязательно последует, поэтому обязательно подписывайтесь на обновления блога, чтобы не пропустить свежие материалы. Ну а в заключение после длинной трудной статьи улыбнитесь, наблюдая за братьями нашими меньшими:

    Вставка примеров html-кода на сайт. —

    В связи с ведением данного блога, периодически приходится вставлять на сайт фрагменты html и css кода. В процессе реализации нормального решения, выяснилось что адекватного описания готовых решений на русском языке почему-то не найти, так что восполнить пробел придётся самостоятельно.

    Начнём с простого:

    Как вставить в текст html-код?

    Для вставки в текст на сайте одного — двух тегов можно использовать html символы для вставки > для вставки > таким образом, тег

    Подключение скрипта оформления кода:

    2) Подключаем файлы js и css. Так же, понадобится подключенная библиотека Jquery.

    3) Настраиваем скрипт:

    4) Более навороченная документация для скрипта есть на сайте разработчиков. Скрипт может менять оформление на лету, выделять необходимые куски кода в рамочки, выносить мусор и готовить еду.


     в HTML

    This will produce the following result −

    Global Attributes

    This tag supports all the global attributes described in HTML Attribute Reference

    Specific Attributes

    tag also supports the following additional attributes −

    Attribute Value Description
    width number Deprecated − It specifies the desired width of the pre-formatted text.

    Event Attributes

    This tag supports all the event attributes described in − HTML Events Reference

    Как отобразить необработанный html-код в PRE или что-то вроде этого, но не избегая его

    Я хочу отобразить необработанный HTML. Мы все знаем, что нужно избегать каждого " ", как этот

    Однако я не хочу этого делать. Я бы хотел, чтобы HTML-код был как есть (поскольку его легче читать (внутри редактора), и я, возможно, захочу его скопировать и снова использовать в качестве фактического HTML-кода, и не хочу, чтобы измените его снова или у вас есть 2 версии одного и того же кода, один из которых не экранирован).

    Есть ли какая-либо другая среда, более "сырая", чем PRE, которая может это позволить? Так что вам не нужно постоянно редактировать HTML и менять все, когда захотите показать какой-то необработанный HTML-код, может быть в HTML5?

    Снимок экрана

    Решение javascript не работает на FF 21, вот скриншот

    Снимок экрана 2

    Первое решение по-прежнему не работает на firefox, вот скриншот

    Вы можете использовать элемент xmp , см. Что такое тег, используемый для?. Он был в HTML с самого начала и поддерживается всеми браузерами. Спецификации нахмурились, но HTML5 CR все еще описывает его и требует, чтобы браузеры его поддерживали (хотя он также говорит авторам не использовать его, но он не может действительно помешать вам).

    Все внутри xmp взято как таковое, там не распознается разметка (метки или ссылки на символы), за исключением, по всей видимости, конечного тега самого элемента, .

    В противном случае xmp отображается как pre .

    При использовании "реального XHTML", то есть XHTML, обслуживаемого с типом XML-типа (что редко), специальные правила синтаксического анализа не применяются, поэтому xmp обрабатывается как pre . Но в "реальном XHTML" вы можете использовать раздел CDATA, который подразумевает аналогичные правила синтаксического анализа. У него нет специального форматирования, поэтому вы, вероятно, захотите обернуть его внутри элемента pre :

    Я не вижу, как вы могли бы объединить xmp и раздел CDATA для достижения так называемой разметки polyglot

    По существу исходный вопрос может быть разбит на две части:

    • Основная цель/задача: внедрение (/транспортировка) необработанного отформатированного кода (любой код) в разметке веб-страницы (для простой копирования/вставки/редактирования из-за отсутствия кодирования/побега)
    • правильное отображение/рендеринг этого фрагмента кода (возможно, его редактирование) в браузер

    Короткий (но) двусмысленный ответ: вы не можете, но можете (очень близко). (Я знаю, это три противоречивых ответа, поэтому читайте дальше. )

    (polyglot) (x) (ht) ml Markup-языки полагаются на обертывание (почти) все между началом/открытием и закрытием/закрытием тегов/символов (последовательностей).
    Таким образом, чтобы внедрить любой необработанный код/​​фрагмент внутри вашего языка разметки, всегда нужно будет вывести/закодировать каждый экземпляр (внутри этого фрагмента), который будет похож на символ (-последовательность), который закроет элемент контейнера "контейнер" в разметки. (Во время этого сообщения я буду называть это как правило № 1.)
    Подумайте о "some "data" here" или ..close italics with ''-tag , где очевидно, что нужно вывести/закодировать (что-то в) и " (или изменить кавычек контейнера от " до ' ).

    Итак, из-за правила №1, вы не можете 'просто "вставлять" любой "неизвестный фрагмент кода" внутри разметки.
    Поскольку, если вам нужно избежать/кодировать даже один символ внутри исходного фрагмента, то этот фрагмент больше не будет тем же исходным "чистым исходным кодом", который каждый может скопировать/вставить/редактировать в разметке документа без дальнейших размышлений. Это приведет к неправильной/незаконной разметке и Mojibake (главным образом) из-за сущностей.
    Кроме того, если этот фрагмент содержит такие символы, вам все равно потребуется некоторый javascript для "перевода" этого символа (последовательности) из (и в) его экранированного/кодированного представления, чтобы правильно отобразить фрагмент на "веб-странице" (для копирования/вставки/редактировать).

    Это приводит нас к (некоторым) типам данных, которые указывают языки-метки. Эти типы данных по существу определяют то, что считается "допустимыми символами" и их значением (за тег, свойство и т.д.):

    PCDATA (Parsed Character DATA): будет расширять объекты, а escape , & (и > в зависимости от языка разметки/версии).
    Большинство тегов, таких как body , div , pre и т.д., Но также textarea (до HTML5) попадают под этот тип.
    Таким образом, вы не только должны кодировать все последовательности символов закрытия контейнера внутри фрагмента вы также должны кодировать все символы , & (, > ) (как минимум).
    Излишне говорить, что кодирование/экранирование этого множества символов выходит за рамки этого объективный объем вложения исходного фрагмента в разметку.
    '.. Но текстовое поле, похоже, работает. ', да, либо из-за браузеров error-engine, пытающийся сделать что-то из этого, или потому, что HTML5:

    RCDATA (Сменные символы символов): не будет обрабатывать теги внутри текст как разметка (но по-прежнему регулируется правилом 1), поэтому не нужно encode ( > ). НО сущности все еще расширяются, поэтому они и "двусмысленные амперсанды '( & ) нуждаются в особой заботе.
    Текущая спецификация HTML5 говорит, что textarea теперь является полем RCDATA и (цитата):

    Текст в raw text и RCDATA элементах не должен содержать. вхождения строки " (U + 003C LESS-THAN SIGN, U + 002F SOLIDUS) за которыми следуют символы, которые нечувствительно к регистру соответствуют имени тега элемент, за которым следует один из U + 0009 ТАБЛИЦЫ ХАРАКТЕР (вкладка), U + 000A LINE FEED (LF), U + 000C FEED FEED (FF), U + 000D ВОЗВРАТ КАРЬЕРА (CR), U + 0020 SPACE, U + 003E БОЛЬШЕ, ЧЕМ ЗНАК ( > ), или U + 002F SOLIDUS (/).

    Таким образом, несмотря ни на что, textarea нуждается в обработчике перевода сущ. объекта или это в конечном итоге Mojibake на сущности!

    CDATA (данные символа) не будет обрабатывать теги внутри текста как разметки и не будет расширять объекты.
    До тех пор, пока код исходного кода не нарушает правило 1 (это невозможно имеют символ закрытия контейнера (последовательность) внутри фрагмента), это не требует другого экранирования/кодирования.

    Ясно, что это сводится к: как мы можем минимизироватьколичество символов/последовательностей символов, которые все еще должны быть закодированы в исходном исходном тексте фрагмента, и количество раз, которое символ (последовательность) может отображаться в среднем фрагменте; что также важно для javascript, который обрабатывает перевод этих символов (если они возникают).

    Итак, какие "контейнеры" имеют этот контекст CDATA ?

    Большинство значений свойств тегов являются CDATA, поэтому можно (ab) использовать свойство скрытого входного значения (доказательство концепции jsfiddle здесь).
    Однако (правило соответствия 1) это создает проблему кодирования/эвакуации с вложенными кавычками ( " и ' ) в исходном фрагменте, а для получения/перевода требуется некоторый javascript, а набор фрагментов - в другом (видимом) элементе (или просто устанавливая его как значение текстовой области). Так или иначе это дало мне проблемы с объектами в FF (как в текстовом поле). Но это не имеет особого значения, поскольку "цена" на то, чтобы убегать/кодировать вложенные кавычки выше, чем текстовое поле (HTML5) (кавычки довольно распространены в исходном коде..).

    Как насчет того, чтобы пытаться (ab) использовать bla & bla ]]> ?
    Как указывает Юкка в своем расширенном ответе, это будет работать только в (редком) "реальном xhtml".
    Я думал об использовании script -tag (с такой оболочкой CDATA внутри или без нее внутри script -tag) вместе с многострочным комментарием /* */ , который обертывает исходный фрагмент (script -tags может иметь id , и вы можете получить к ним доступ по счету). Но так как это явно вводит проблему экранирования с */ , ]]> и в исходном фрагменте, это тоже не похоже на решение.

    Пожалуйста, размещайте другие жизнеспособные "контейнеры" в комментариях к этому ответу.

    Кстати, кодирование или подсчет количества символов - и их балансировка внутри тега комментариев для этой цели просто безумны (кроме правила 1).

    Это оставляет нам Jukka K. Korpela отличный ответ: тег кажется лучшим вариантом!

    "Забытый" имеет значение CDATA , предназначен для этой цели И действительно является в текущей спецификации HTML 5 ( и был, по крайней мере, с HTML3.2); именно то, что нам нужно! Он также широко поддерживается даже в IE6 (то есть.. до тех пор, пока он не пострадает от той же регрессии, что и прокручиваемое стол-тело).
    Примечание: как указал Юкка, это не будет работать в истинном xhtml или polyglot (который будет рассматривать его как pre ), а тег xmp должен придерживаться правила № 1. Но это правило "только".

    Рассмотрим следующую разметку:

    Вышеупомянутый блок кода иллюстрирует необработанную часть разметки, где содержит (почти сырой) фрагмент кода (содержащий div>div>xmp>html-document ).
    Обратите внимание на закодированный закрывающий тег в этой разметке? Чтобы соответствовать правилу № 1, это было закодировано/экранировано).


    Так что вложение/транспортировка (иногда почти) необработанного кода будет/кажется решенным.

    Как насчет отображения/рендеринга фрагмента (и закодированного )?

    Браузер будет (или должен) отобразить фрагмент (содержимое внутри snippet-container ) точно так, как вы видите его в кодовом блоке выше (с некоторым расхождением между браузерами, начинается ли фрагмент с пустой строкой).
    Это включает в себя форматирование/отступы, сущности (например, строку & ), полные теги, комментарии И закодированный закрывающий тег (точно так же, как он был закодирован в разметке). И в зависимости от браузера (версии) можно даже попробовать использовать свойство contenteditable="true" для редактирования этого фрагмента (все, что без javascript включено). Выполнение чего-то вроде textarea.value=xmp.innerHTML - тоже легкий ветерок.

    Таким образом, вы можете. если фрагмент не содержит контейнеров, закрывающих последовательность символов.

    Однако, если необработанный фрагмент содержит закрывающую последовательность символов (поскольку это пример самого xmp или он содержит некоторое регулярное выражение и т.д.), вы должны признать, что вам нужно encode/escape этой последовательности в исходном фрагменте И нужен обработчик javascript для перевода этого кодирования для отображения/отображения закодированного как внутри a textarea (для редактирования/публикации) или (например) a pre просто для правильного отображения кода фрагмента (или, как кажется).

    Очень рудиментарный пример jsfiddle этого здесь, Обратите внимание, что получение/вложение/отображение/извлечение в textarea работало идеально даже в IE6. Но установка xmp innerHTML показала некоторое интересное "потенциально-разумное" поведение в части IE. Существует более обширное примечание и обходное решение этого в скрипке.

    Но теперь появляется важный кикер (еще одна причина, по которой вы очень близко приближаетесь): Подобно упрощенному примеру, представьте эту кроличью яму:

    Предполагаемый фрагмент кода:

    Ну, чтобы соответствовать правилу 1, нам "нужно" только кодировать последовательности \n\r\t\f\/] , правильно?

    Таким образом, мы получаем следующую разметку (используя только возможную кодировку):

    Хмм.. я получу свой хрустальный шар или переворачиваю монету? Нет, пусть компьютер посмотрит на свои системные часы и сообщит, что производное число является "случайным". Да, это должно сделать это.

    Используя регулярное выражение, подобное: xmp.innerHTML.replace(/ \n\r\t\f\/])/gi, ' , переведет 'назад' на это:

    Хм.. кажется, этот случайный генератор сломан. Хьюстон.
    Если вы пропустили шутку/проблему, прочитайте снова, начиная с "предназначенного фрагмента кода".

    Подождите, я знаю, нам (также) нужно кодировать. на.
    Хорошо, перемотайте "предполагаемый необработанный код-фрагмент" и снова прочитайте.
    Каким-то образом все это начинает пахнуть, как знаменитый веселый, но истинный rexgex-ответ на SO, хорошо читаемый для людей, свободно владеющих моджибаке.

    Может быть, кто-то знает умный алгоритм или решение, чтобы исправить эту проблему, но я предполагаю, что встроенный необработанный код будет становиться все более и более неясным до такой степени, что вам лучше правильно экранировать/кодировать только ваш , & (и > ), как и весь остальной мир.

    Вывод: (с помощью тега xmp )

    • это можно сделать с помощью известных фрагментов, которые не содержат символьную последовательность закрытия контейнера,
    • мы можем приблизиться к исходной цели с известными фрагментами, которые используют только "базовый первый уровень" для экранирования/кодирования, поэтому мы не попадаем в раввило,
    • но в конечном итоге кажется, что нельзя надежно выполнять это в "производственной среде", где люди могут/должны копировать/вставлять/редактировать "любые неизвестные" необработанные фрагменты, не зная/не понимая значения/правила/раввитолу ( в зависимости от вашей реализации обработки/перевода для правила 1 и кроличьей дыры).

    Надеюсь, это поможет!

    PS: Хотя я был бы признателен за повышение, если вы найдете это объяснение полезным, я вроде думаю, что ответ Jukka должен быть принятым ответом (если не будет лучшего варианта/ответа), поскольку он был тем, кто помнил тег xmp (что я забыл о на протяжении многих лет и "отвлекался" от широко распространенных элементов PCDATA, таких как pre , textarea и т.д.).
    Этот ответ возник из объяснения, почему вы не можете это сделать (с любым неизвестным сырым фрагментом) и объяснить некоторые очевидные ошибки, которые некоторые другие (теперь удаленные) ответы игнорируются при консультировании текстового поля для встраивания/переноса. Я расширил свое существующее объяснение, чтобы также поддержать и объяснить Jukka ответ (поскольку все, что сущность и * CDATA материал почти сложнее, чем кодовые страницы).

    Преформатированный текст

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

    Наверное, вы уже заметили, как отличается отображение кода в HTML-редакторе и в мини-браузере.

    Вы можете ставить сколько угодно пробелов в HTML-коде, но браузер отобразит их как один. Вы также можете ставить сколько угодно переносов строки в HTML-коде, а в браузере переноса не будет, если только не использовать специальные теги, например

    Изменить это поведение браузера можно с помощью тега

    , который обозначает «предварительно отформатированный текст». Браузер сохраняет и отображает все пробелы и переносы, которые есть внутри тега

    Наиболее часто этот тег используется при отображении примеров кода.

    Заголовки html (теги h1-h6), html форматирование текста (теги strong, b, em, i, blockquote, pre)

    Здравствуйте, уважаемые читатели! Продолжаю публикации в разделе «Основы html» и сегодняшний пост будет посвящен формированию заголовков html (теги h1-h6), а также способам форматирования html текста путем выделения необходимых слов или фраз (теги strong, b; em, i) и фрагментов текста (теги blockquote, pre).

    Надо сказать, что данные инструменты очень часто бывают востребованными в работе вебмастера, поэтому я счел нужным о них рассказать, тем более, что правильное применение вышеназванных тегов html способствует успешной раскрутке проекта. Вообще говоря, вся информация, которую я предлагаю, очень важна, ее объем продуман, поэтому старайтесь ознакомиться с ней как можно ближе, ничего лишнего я стараюсь не давать.

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

    Теги заголовков h1-h6

    Уверен, многие из вас уже неоднократно сталкивались с тегами заголовков h1-h6, однако, возможно, некоторые недооценивают их важность с точки зрения seo. Дело в том, что эти теги играют не последнюю роль в деле оптимизации и раскрутки сайта и я постараюсь коснуться этого аспекта тоже. Название элементы h1-h6 получили от заглавной буквы английского слова "Header" (заголовок). Синтаксис заголовков в html коде выглядит следующим образом:

    Прописывая этот кусок html кода при отображении в браузере мы получаем:

    Самый верхний уровень 1, самый низкий - 6. Таким образом любой текст можно классифицировать с точки зрения его важности. Теги h1-h6 являются блочными, поэтому заголовок, определяемый ними, занимает все возможное пространство по ширине. Однако, несмотря на то, что эти элементы являются блочными, они не должны содержать другие блочные теги, только строчные. Если касаться оптимизации статей и всего ресурса в целом, то можно выделить несколько рекомендаций:

    • Заголовки h1 h2 h3 наиболее важны с точки зрения ранжирования поисковыми системами, соответственно они наиболее востребованы и часто используемые. Рекомендуется заголовок тега h1 использовать один раз на странице (обычно он располагается на странице со статьей в качестве названия поста, у меня пока на блоге немного не так, но я собираюсь исправить ситуацию). Заголовок h2 применяется для подзаголовков, если материал большой и его надо разделить на логические части, h3 - для подзаголовков логических фрагментов этих частей; кроме того, h2 и h3 допускается использовать на главной странице и страницах категорий.
    • Теги h4, h5, h6 применяются редко, поскольку слабо учитываются при ранжировании. Однако, если статья большая и необходимо выделить какие-то фрагменты для удобства читателей, то приходят на помощь и они (например, в объемном мануале в каждой из частей, определяемой элементом h3, требуется выделить логические куски с подзаголовком h4). Кроме того, теги h4, h5, h6 могут быть использованы для названий каких-либо блоков в сайдбаре, футере (подвале) и т.д.
    • Желательно использовать заголовки h1, h2, h3 в обязательном порядке. Конечно, я не проводил анализа строгости поисковиков при несоблюдении этого правила, однако логично предположить, что это учитывается при ранжировании.
    • Необходимо добавить, что в содержание заголовков, особенно h1-h3, в обязательном порядке должны входить ключевые слова, определяемые при составлении семантического ядра, поскольку поисковые системы именно ключевым словам и фразам придают большое значение.

    Ну, и само собой, использование тегов html заголовков, и это главное, делает материал более удобным для восприятия пользователями. Что касается атрибута align тегов h1-h6, то сейчас я о нем говорить не буду, поскольку он не рекомендуется к применению по правилам спецификации html. Как разнообразить внешний вид подзаголовков с помощью приемлемых методов, которые не нарушат валидность html документа, мы поговорим, когда приступим к изучению основ стилей css.

    Форматирование текста при помощи специальных HTML тегов

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

    Логическое и физическое форматирование - особенности использования каждого из них

    Отмечу разницу между тегами логического и физического (визуального) форматирования. Физическое предназначено прежде всего пользователям, которое позволяет выделить для них важные участки текста. Логическое же делает акцент на выделенный текст поисковым машинам, которые учитывают этот участок при ранжировании.

    Наиболее ярким примером служат strong и em, которые являются тегами логического форматирования, а соответственно b и i - физического форматирования. При отображении в браузере текста, обрамленного тегами strong и b (выделение жирным), em и i (выделение курсивом), визуальной разницы не ощущается:


    Поговаривают, что значение тегов strong и em за последнее время серьезно упало и поисковые машины сейчас мало внимания им уделяют. Однако, я все-таки не советовал бы увлекаться их применением, отмечая ими ключевые слова, тем более, что существует разумная альтернатива в лице элементов em и i.

    Какие еще есть теги, позволяющие форматировать текстовое содержание

    Теперь еще несколько слов о других тегах форматирования текста, которые применяются крайне редко, но все же нужны, раз они существуют. Возможно, кому-то эта информация окажется полезной. Отмечу по обыкновению лишь те теги, которые соответствуют спецификации html 5. Начнем с тегов физического (визуального) форматирования (теги b и i рассмотрены выше).

      Small - служит для уменьшения размера шрифта на единицу, если сравнивать с обычным текстом.

    Sub - текст отображается в виде нижнего индекса

    Sup - отображение текста в виде верхнего индекса

    Безусловно, это только некоторые элементы физического форматирования, однако я выбрал только те, которые валидны по отношению к html 5, остальные рекомендуется заменять стилями css, с которыми вскоре я вас ознакомлю. Далее приведу примеры тегов логического форматирования.

      Abbr - указывает на то, что данная последовательность символов является аббревиатурой. Расшифровка сокращения осуществляется с помощью атрибута title и всплывает при подведении курсора к тексту.

    Cite - применяется для выделения цитат

    Code - применяется для отображения разнообразных кодов, например, кода скрипта

    Del - выделяет текст, перечеркивая его. Очень полезно, когда надо отметить текст, удаленный из новой версии документа. Применение этого тега позволяет отслеживать изменения, которые были сделаны в тексте.

    Ins - выделяет текст, подчеркивая его. Показывает тем самым, что этот фрагмент текста был вставлен после опубликования документа.

  • 1 элемент маркированного списка
  • 2 элемент маркированного списка
  • 3 элемент маркированного списка
  • Представленные выше теги логического и физического форматирования часто не встречаются при написании html кода, однако знание о них необходимо хотя бы для выяснения их роли в современном продвижении сайтов. Далее рассмотрим еще два тега форматирования текста html, которые играют не последнюю роль.

    Как вставить цитату посредством blockquote и выделить текстовый фрагмент с помощью pre

    Html тег blockquote служит для форматирования текста, выделяя цитаты внутри документа. Он достаточно распространен и часто используется при написании постов на сайтах и блогах определенной тематики. Вот пример:

    Тег blockquote является парным и может включать в себя как блочные (например теги абзацев p), так и строчные элементы.

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

    Ну, и напоследок еще об одном элементе форматирования, который достаточно часто бывает востребованным - теге pre. Этот элемент позволяет отобразить предварительно отформатированный непосредственно в коде html фрагмент текста. Особенность отображения в браузере по умолчанию заключается в том, что любое количество пробелов, которые идут последовательно, передается на вебстранице как один. Тег pre помогает обойти эту специфическую особенность. То есть то и как вы написали, точно будет воспроизведено на странице, если участок текста заключен между открывающим и закрывающим тегами pre.

    Точно в таком же виде текст отобразится в браузере:

    Ну, вот, пожалуй, это все, о чем я хотел сегодня рассказать применительно к тегам заголовков h1-h6, а также основным элементам форматирования html текста. Продолжение обязательно последует, поэтому обязательно подписывайтесь на обновления блога, чтобы не пропустить свежие материалы. Ну а в заключение после длинной трудной статьи улыбнитесь, наблюдая за братьями нашими меньшими:

    Как отобразить необработанный html-код в PRE или что-то вроде этого, но не избегая его

    Я хочу отобразить необработанный HTML. Мы все знаем, что нужно избегать каждого " ", как этот

    Однако я не хочу этого делать. Я бы хотел, чтобы HTML-код был как есть (поскольку его легче читать (внутри редактора), и я, возможно, захочу его скопировать и снова использовать в качестве фактического HTML-кода, и не хочу, чтобы измените его снова или у вас есть 2 версии одного и того же кода, один из которых не экранирован).

    Есть ли какая-либо другая среда, более "сырая", чем PRE, которая может это позволить? Так что вам не нужно постоянно редактировать HTML и менять все, когда захотите показать какой-то необработанный HTML-код, может быть в HTML5?

    Снимок экрана

    Решение javascript не работает на FF 21, вот скриншот

    Снимок экрана 2

    Первое решение по-прежнему не работает на firefox, вот скриншот

    Вы можете использовать элемент xmp , см. Что такое тег, используемый для?. Он был в HTML с самого начала и поддерживается всеми браузерами. Спецификации нахмурились, но HTML5 CR все еще описывает его и требует, чтобы браузеры его поддерживали (хотя он также говорит авторам не использовать его, но он не может действительно помешать вам).

    Все внутри xmp взято как таковое, там не распознается разметка (метки или ссылки на символы), за исключением, по всей видимости, конечного тега самого элемента, .

    В противном случае xmp отображается как pre .


    При использовании "реального XHTML", то есть XHTML, обслуживаемого с типом XML-типа (что редко), специальные правила синтаксического анализа не применяются, поэтому xmp обрабатывается как pre . Но в "реальном XHTML" вы можете использовать раздел CDATA, который подразумевает аналогичные правила синтаксического анализа. У него нет специального форматирования, поэтому вы, вероятно, захотите обернуть его внутри элемента pre :

    Я не вижу, как вы могли бы объединить xmp и раздел CDATA для достижения так называемой разметки polyglot

    По существу исходный вопрос может быть разбит на две части:

    • Основная цель/задача: внедрение (/транспортировка) необработанного отформатированного кода (любой код) в разметке веб-страницы (для простой копирования/вставки/редактирования из-за отсутствия кодирования/побега)
    • правильное отображение/рендеринг этого фрагмента кода (возможно, его редактирование) в браузер

    Короткий (но) двусмысленный ответ: вы не можете, но можете (очень близко). (Я знаю, это три противоречивых ответа, поэтому читайте дальше. )

    (polyglot) (x) (ht) ml Markup-языки полагаются на обертывание (почти) все между началом/открытием и закрытием/закрытием тегов/символов (последовательностей).
    Таким образом, чтобы внедрить любой необработанный код/​​фрагмент внутри вашего языка разметки, всегда нужно будет вывести/закодировать каждый экземпляр (внутри этого фрагмента), который будет похож на символ (-последовательность), который закроет элемент контейнера "контейнер" в разметки. (Во время этого сообщения я буду называть это как правило № 1.)
    Подумайте о "some "data" here" или ..close italics with ''-tag , где очевидно, что нужно вывести/закодировать (что-то в) и " (или изменить кавычек контейнера от " до ' ).

    Итак, из-за правила №1, вы не можете 'просто "вставлять" любой "неизвестный фрагмент кода" внутри разметки.
    Поскольку, если вам нужно избежать/кодировать даже один символ внутри исходного фрагмента, то этот фрагмент больше не будет тем же исходным "чистым исходным кодом", который каждый может скопировать/вставить/редактировать в разметке документа без дальнейших размышлений. Это приведет к неправильной/незаконной разметке и Mojibake (главным образом) из-за сущностей.
    Кроме того, если этот фрагмент содержит такие символы, вам все равно потребуется некоторый javascript для "перевода" этого символа (последовательности) из (и в) его экранированного/кодированного представления, чтобы правильно отобразить фрагмент на "веб-странице" (для копирования/вставки/редактировать).

    Это приводит нас к (некоторым) типам данных, которые указывают языки-метки. Эти типы данных по существу определяют то, что считается "допустимыми символами" и их значением (за тег, свойство и т.д.):

    PCDATA (Parsed Character DATA): будет расширять объекты, а escape , & (и > в зависимости от языка разметки/версии).
    Большинство тегов, таких как body , div , pre и т.д., Но также textarea (до HTML5) попадают под этот тип.
    Таким образом, вы не только должны кодировать все последовательности символов закрытия контейнера внутри фрагмента вы также должны кодировать все символы , & (, > ) (как минимум).
    Излишне говорить, что кодирование/экранирование этого множества символов выходит за рамки этого объективный объем вложения исходного фрагмента в разметку.
    '.. Но текстовое поле, похоже, работает. ', да, либо из-за браузеров error-engine, пытающийся сделать что-то из этого, или потому, что HTML5:

    RCDATA (Сменные символы символов): не будет обрабатывать теги внутри текст как разметка (но по-прежнему регулируется правилом 1), поэтому не нужно encode ( > ). НО сущности все еще расширяются, поэтому они и "двусмысленные амперсанды '( & ) нуждаются в особой заботе.
    Текущая спецификация HTML5 говорит, что textarea теперь является полем RCDATA и (цитата):

    Текст в raw text и RCDATA элементах не должен содержать. вхождения строки " (U + 003C LESS-THAN SIGN, U + 002F SOLIDUS) за которыми следуют символы, которые нечувствительно к регистру соответствуют имени тега элемент, за которым следует один из U + 0009 ТАБЛИЦЫ ХАРАКТЕР (вкладка), U + 000A LINE FEED (LF), U + 000C FEED FEED (FF), U + 000D ВОЗВРАТ КАРЬЕРА (CR), U + 0020 SPACE, U + 003E БОЛЬШЕ, ЧЕМ ЗНАК ( > ), или U + 002F SOLIDUS (/).

    Таким образом, несмотря ни на что, textarea нуждается в обработчике перевода сущ. объекта или это в конечном итоге Mojibake на сущности!

    CDATA (данные символа) не будет обрабатывать теги внутри текста как разметки и не будет расширять объекты.
    До тех пор, пока код исходного кода не нарушает правило 1 (это невозможно имеют символ закрытия контейнера (последовательность) внутри фрагмента), это не требует другого экранирования/кодирования.

    Ясно, что это сводится к: как мы можем минимизироватьколичество символов/последовательностей символов, которые все еще должны быть закодированы в исходном исходном тексте фрагмента, и количество раз, которое символ (последовательность) может отображаться в среднем фрагменте; что также важно для javascript, который обрабатывает перевод этих символов (если они возникают).

    Итак, какие "контейнеры" имеют этот контекст CDATA ?

    Большинство значений свойств тегов являются CDATA, поэтому можно (ab) использовать свойство скрытого входного значения (доказательство концепции jsfiddle здесь).
    Однако (правило соответствия 1) это создает проблему кодирования/эвакуации с вложенными кавычками ( " и ' ) в исходном фрагменте, а для получения/перевода требуется некоторый javascript, а набор фрагментов - в другом (видимом) элементе (или просто устанавливая его как значение текстовой области). Так или иначе это дало мне проблемы с объектами в FF (как в текстовом поле). Но это не имеет особого значения, поскольку "цена" на то, чтобы убегать/кодировать вложенные кавычки выше, чем текстовое поле (HTML5) (кавычки довольно распространены в исходном коде..).

    Как насчет того, чтобы пытаться (ab) использовать bla & bla ]]> ?
    Как указывает Юкка в своем расширенном ответе, это будет работать только в (редком) "реальном xhtml".
    Я думал об использовании script -tag (с такой оболочкой CDATA внутри или без нее внутри script -tag) вместе с многострочным комментарием /* */ , который обертывает исходный фрагмент (script -tags может иметь id , и вы можете получить к ним доступ по счету). Но так как это явно вводит проблему экранирования с */ , ]]> и в исходном фрагменте, это тоже не похоже на решение.

    Пожалуйста, размещайте другие жизнеспособные "контейнеры" в комментариях к этому ответу.

    Кстати, кодирование или подсчет количества символов - и их балансировка внутри тега комментариев для этой цели просто безумны (кроме правила 1).

    Это оставляет нам Jukka K. Korpela отличный ответ: тег кажется лучшим вариантом!

    "Забытый" имеет значение CDATA , предназначен для этой цели И действительно является в текущей спецификации HTML 5 ( и был, по крайней мере, с HTML3.2); именно то, что нам нужно! Он также широко поддерживается даже в IE6 (то есть.. до тех пор, пока он не пострадает от той же регрессии, что и прокручиваемое стол-тело).
    Примечание: как указал Юкка, это не будет работать в истинном xhtml или polyglot (который будет рассматривать его как pre ), а тег xmp должен придерживаться правила № 1. Но это правило "только".

    Рассмотрим следующую разметку:

    Вышеупомянутый блок кода иллюстрирует необработанную часть разметки, где содержит (почти сырой) фрагмент кода (содержащий div>div>xmp>html-document ).
    Обратите внимание на закодированный закрывающий тег в этой разметке? Чтобы соответствовать правилу № 1, это было закодировано/экранировано).

    Так что вложение/транспортировка (иногда почти) необработанного кода будет/кажется решенным.

    Как насчет отображения/рендеринга фрагмента (и закодированного )?

    Браузер будет (или должен) отобразить фрагмент (содержимое внутри snippet-container ) точно так, как вы видите его в кодовом блоке выше (с некоторым расхождением между браузерами, начинается ли фрагмент с пустой строкой).
    Это включает в себя форматирование/отступы, сущности (например, строку & ), полные теги, комментарии И закодированный закрывающий тег (точно так же, как он был закодирован в разметке). И в зависимости от браузера (версии) можно даже попробовать использовать свойство contenteditable="true" для редактирования этого фрагмента (все, что без javascript включено). Выполнение чего-то вроде textarea.value=xmp.innerHTML - тоже легкий ветерок.

    Таким образом, вы можете. если фрагмент не содержит контейнеров, закрывающих последовательность символов.

    Однако, если необработанный фрагмент содержит закрывающую последовательность символов (поскольку это пример самого xmp или он содержит некоторое регулярное выражение и т.д.), вы должны признать, что вам нужно encode/escape этой последовательности в исходном фрагменте И нужен обработчик javascript для перевода этого кодирования для отображения/отображения закодированного как внутри a textarea (для редактирования/публикации) или (например) a pre просто для правильного отображения кода фрагмента (или, как кажется).

    Очень рудиментарный пример jsfiddle этого здесь, Обратите внимание, что получение/вложение/отображение/извлечение в textarea работало идеально даже в IE6. Но установка xmp innerHTML показала некоторое интересное "потенциально-разумное" поведение в части IE. Существует более обширное примечание и обходное решение этого в скрипке.

    Но теперь появляется важный кикер (еще одна причина, по которой вы очень близко приближаетесь): Подобно упрощенному примеру, представьте эту кроличью яму:

    Предполагаемый фрагмент кода:

    Ну, чтобы соответствовать правилу 1, нам "нужно" только кодировать последовательности \n\r\t\f\/] , правильно?

    Таким образом, мы получаем следующую разметку (используя только возможную кодировку):

    Хмм.. я получу свой хрустальный шар или переворачиваю монету? Нет, пусть компьютер посмотрит на свои системные часы и сообщит, что производное число является "случайным". Да, это должно сделать это.

    Используя регулярное выражение, подобное: xmp.innerHTML.replace(/ \n\r\t\f\/])/gi, ' , переведет 'назад' на это:

    Хм.. кажется, этот случайный генератор сломан. Хьюстон.
    Если вы пропустили шутку/проблему, прочитайте снова, начиная с "предназначенного фрагмента кода".

    Подождите, я знаю, нам (также) нужно кодировать. на.
    Хорошо, перемотайте "предполагаемый необработанный код-фрагмент" и снова прочитайте.
    Каким-то образом все это начинает пахнуть, как знаменитый веселый, но истинный rexgex-ответ на SO, хорошо читаемый для людей, свободно владеющих моджибаке.

    Может быть, кто-то знает умный алгоритм или решение, чтобы исправить эту проблему, но я предполагаю, что встроенный необработанный код будет становиться все более и более неясным до такой степени, что вам лучше правильно экранировать/кодировать только ваш , & (и > ), как и весь остальной мир.

    Вывод: (с помощью тега xmp )

    • это можно сделать с помощью известных фрагментов, которые не содержат символьную последовательность закрытия контейнера,
    • мы можем приблизиться к исходной цели с известными фрагментами, которые используют только "базовый первый уровень" для экранирования/кодирования, поэтому мы не попадаем в раввило,
    • но в конечном итоге кажется, что нельзя надежно выполнять это в "производственной среде", где люди могут/должны копировать/вставлять/редактировать "любые неизвестные" необработанные фрагменты, не зная/не понимая значения/правила/раввитолу ( в зависимости от вашей реализации обработки/перевода для правила 1 и кроличьей дыры).

    Надеюсь, это поможет!

    PS: Хотя я был бы признателен за повышение, если вы найдете это объяснение полезным, я вроде думаю, что ответ Jukka должен быть принятым ответом (если не будет лучшего варианта/ответа), поскольку он был тем, кто помнил тег xmp (что я забыл о на протяжении многих лет и "отвлекался" от широко распространенных элементов PCDATA, таких как pre , textarea и т.д.).
    Этот ответ возник из объяснения, почему вы не можете это сделать (с любым неизвестным сырым фрагментом) и объяснить некоторые очевидные ошибки, которые некоторые другие (теперь удаленные) ответы игнорируются при консультировании текстового поля для встраивания/переноса. Я расширил свое существующее объяснение, чтобы также поддержать и объяснить Jukka ответ (поскольку все, что сущность и * CDATA материал почти сложнее, чем кодовые страницы).

    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL