Русский

Инструменты разработчика · Экранирующий элемент HTML

Проблема ': почему объект апострофа не удался в более старой версии HTML

· Фон

HTML кодирование совместимость

Проблема с обозначением объекта: почему объект апострофа не удалось использовать в более старой версии HTML, показанной в виде диаграммы ссылок на символы, безопасной для браузера
Оригинальная векторная иллюстрация ToolAcre

' является одним из пяти предопределенных объектов XML, но отсутствовал в HTML 4, поэтому старые браузеры и некоторые почтовые клиенты печатают его буквально. В этом посте объясняется раскол, когда HTML наконец принял его и почему ' остается безопасным выбором.

Апостроф, который появился как «в информационном бюллетене» — конкретный сбой рендеринга и его причина

Апостроф, который появился как «в информационном бюллетене», — конкретный сбой рендеринга и его причина. Некоторые старые клиенты, ориентированные на HTML, отображали ' буквально, потому что это имя не всегда поддерживалось в устаревшей обработке HTML. Признаком совместимости является видимый исходный текст вместо апострофа.

Чтобы убедиться, что HTML не работает, создайте апостроф, который отображался для разработчика, который видел, что он отображается буквально в почтовом клиенте или устаревшем браузере. Сохранять как апостроф, в то время как переносимость апострофа создает конкретный информационный бюллетень; определить, где произошел сбой рендеринга и его использование. Наблюдение о причине принадлежит только тексту HTML.

Пять предопределенных объектов XML — зачем ' был нужен в синтаксисе атрибута XML

Пять предопределенных объектов XML — почему ' был необходим в синтаксисе атрибута XML. XML определяет apos среди своих основных имен, что делает его естественным в значениях атрибута XML, разделенных апострофами. Этот факт не гарантирует идентичного поведения у старых потребителей HTML.

Разработчик, который видел «рендеринг» буквально в почтовом клиенте или устаревшем браузере, может протестировать пять предопределенных xml-файлов, записывая сущности, почему apos был до прохождения переносимости апострофа. После этого сравните необходимый атрибут xml и найдите синтаксический анализатор, отвечающий за синтаксис. Этот «неработающий HTML-результат» объясняет доказательства переносимости апострофа, а не исполняемые контексты.

Список HTML 4.01 — «да», «нет», и аргументация на тот момент

Список HTML 4.01 — «да», ' нет, и аргументация на тот момент. Текущая таблица ToolAcre распознает apos при декодировании, но ее кодировщик намеренно фильтрует обратное отображение. Апострофы выдаются как ' в каждом режиме кодирования.

Изолируйте html 4 01 в коротком примере переносимости апострофа. Покажите список quot yes apos как буквальный источник, следуйте no и аргументации до места назначения и назовите чтение API в данный момент. Для неработающего HTML свидетельство переносимости апострофа остается свидетельством, привязанным к анализатору.

Краткий мост XHTML — где ' работал, потому что документ был XML

Краткий мост XHTML — где ' работал, потому что документ был XML. XHTML использует правила синтаксического анализа XML, когда фактически используется как XML. Файлы, просто написанные с синтаксисом, похожим на XHTML, но анализируемые как текст /html, по-прежнему следуют поведению HTML, включая различия в совместимости с клиентом.

Относитесь к краткому мосту xhtml как к граничному эксперименту. Разработчик, который видел ', отображаемый буквально в почтовом клиенте или устаревшем браузере, должен сохранить, где работал apos, потому что выполнить одну операцию переносимости апострофа и проверить, что документ был xml посимвольно, прежде чем изменять свидетельство переносимости апострофа. Утверждение о доказательствах переносимости апострофа заканчивается на этом уровне HTML.

Текущий HTML распознает '; ToolAcre по-прежнему выдает ' для более широкой переносимости устаревших версий

Текущий HTML распознает '; ToolAcre по-прежнему выдает ' для более широкой переносимости устаревших версий. Современный HTML распознает ', и декодер доказывает, что оба ' и ' возвращают один и тот же апостроф ASCII. Проблемы переносимости остаются актуальными для архивированных клиентов и ограниченных механизмов электронной почты.

Воспроизведение текущего HTML-кода распознает апозитивы с безопасными входными данными вместо материалов клиента. Инструмент записи по-прежнему выдает 39, наблюдает за более широкой переносимостью устаревших версий и подсчитывает каждый преднамеренный проход переносимости апострофа. Этот «неработающий HTML-след» позволяет разработчику, который видел «отрисовку» буквально в почтовом клиенте или устаревшем браузере, оценить доказательства переносимости апострофа и доказательства переносимости апострофа, не догадываясь.

Рабочий пример: экранирование строки с кавычками для HTML и для XML — ' в качестве переносимого ответа

Рабочий пример: экранирование строки с кавычками для HTML и для XML — ' в качестве переносимого ответа. Для входной буквальной цитаты Тома ASCII в «Tom's» экранирование дает Tom's. Декодирование Tom's или Tom's возвращает один и тот же простой символ апострофа.

Поместите рабочий пример экранирования a, строки с кавычками для HTML и XML рядом во время проверки переносимости апострофа. Разработчик, который видел ' рендеринг буквально в почтовом клиенте или устаревшем браузере, может затем решить, изменился ли 39 как переносимый вариант при преобразовании или в последующих версиях. Избегайте вывода «не работает HTML» об ответе из общих заявлений о безопасности.

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

Чего здесь не рассматривается — подробно о механизмах рендеринга почтовых клиентов. Механизмы почтовых клиентов различаются и здесь не представлены. Тестирование фактической клиентской матрицы остается необходимым, когда старое программное обеспечение для рендеринга является требованием к продукту.

Определите, чего это не делает, прежде чем запускать переносимость апострофа. Сохраните рендеринг почтового клиента обложки в качестве элемента управления, подробно проверьте точки кода, лежащие в основе механизмов, и сопоставьте доказательства переносимости апострофа следующему интерпретатору. Это делает доказательства переносимости апострофа проверяемыми для разработчика, который видел «отображение буквально в почтовом клиенте или устаревшем браузере, исследующем» неработающий HTML.

Вывод: предпочитайте ', когда переносимость имеет значение – как декодер HTML считывает обе формы обратно в простой апостроф

Вывод: предпочитайте ', когда переносимость имеет значение - как декодер HTML Entity escaper считывает обе формы обратно в простой апостроф. Предпочитайте ', когда важна широкая переносимость HTML, соответствующая выходным данным ToolAcre. Выбор является репрезентативным; он сам по себе не делает атрибут, скрипт или выражение SQL безопасным.

Подключите вывод на вынос, предпочитая 39, когда наблюдается видимый вывод переносимости апострофа. Сохраняйте переносимость, так как помимо однопроходного результата проверьте, куда входит html escaper s, декодер читает обе формы. Разработчик, который видел «отображение буквально в почтовом клиенте или устаревшем браузере», теперь может вернуться к простому «узкому» неработающему HTML-нахождению. Практическое решение, лежащее в основе этой статьи, является конкретным: ' является одним из пяти предопределенных объектов XML, но отсутствует в HTML 4, поэтому старые браузеры и некоторые почтовые клиенты печатают его буквально. В этом посте объясняется раскол, когда HTML наконец принял его и почему ' остается безопасным выбором. Действия читателя столь же конкретны: ссылка на экранирующий элемент сущности HTML и демонстрация декодирования ' и ' одного и того же символа с указателем на страницу инструмента, где показано, как экранировать кавычки.