Почему символьная сущность HTML необходима?

Webpack - это модуль-упаковщик и исполнитель задач.

  • Он управляет зависимостями сторонних приложений
  • Позволяет «разделять код»
  • Помогает минимизировать ваши файлы
  • Компилировать SASS в CSS и т. Д.

Angular CLI - это интерфейс командной строки, который объединяет некоторые из методов, упомянутых выше. Под капотом он использует Webpack. Легко создать приложение, которое работает из коробки.

10
задан Pup 19 June 2009 в 02:19
поделиться

6 ответов

Две главные вещи.

  1. Они позволяют использовать символы, не определенные в текущей кодировке. Например, вы можете на законных основаниях использовать ASCII в качестве кодировки и по-прежнему включать произвольные символы Unicode через объекты.
  2. Они позволяют вам заключать в кавычки символы, которым HTML придает особое значение, как заметил Саймон.
22
ответ дан 3 December 2019 в 13:23
поделиться

В SGML и XML они используются не только для символов. Это общий механизм включения, и их использование для специальных символов - лишь один из многих случаев.

<!ENTITY signature "<hr/><p>Regards, <i>&myname;</i></p>">
<!ENTITY myname "John Doe">

Этот вид сущностей бесполезен для веб-сайтов, потому что они работают только в режиме XML, и вы не можете использовать внешний файл DTD. без включения режима синтаксического анализа "проверка" в конфигурации браузера.


Сущности могут быть расширены рекурсивно. Это позволяет использовать XML для атаки Denial of Serice, называемой «Billion Laughs Attack».


Firefox использует внутренние сущности (в XUL и т. Д.) Для интернационализации и независимых от бренда сообщений (чтобы облегчить жизнь Flock и IceWeasel):

<!ENTITY hidemac.label "Hide &brandShortName;">
<!ENTITY hidewin.label "Hide - &brandShortName;">

В HTML вам просто нужны & lt; , & amp; и & quot; , чтобы избежать двусмысленности между текстом и разметкой.

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


В XHTML все сущности, кроме нескольких базовых, являются проблематичными, потому что выиграли не работают с автономными анализаторами XML (например, & nbsp; не будет работать).

Для синтаксического анализа всех XHTML-сущностей вам потребуется проверка XML-синтаксического анализатора (опция, обычно называемая «разрешить внешние»), которая работает медленнее и требует настройки каталога DTD. Если вы проигнорируете или испортите свой каталог DTD, вы будете участвовать в DDoS-атаках серверов W3C .


В XHTML все сущности, кроме нескольких базовых, являются проблематичными, потому что не будут работать с автономными синтаксическими анализаторами XML (например, & nbsp; не будут работать).

Для синтаксического анализа всех XHTML-сущностей вам потребуется проверка XML-синтаксического анализатора (опция, обычно называемая «разрешить внешние»), которая работает медленнее и требует настройки каталога DTD. Если вы проигнорируете или испортите свой каталог DTD, вы будете участвовать в DDoS-атаках серверов W3C .


В XHTML все сущности, кроме нескольких базовых, являются проблематичными, потому что не будут работать с автономными синтаксическими анализаторами XML (например, & nbsp; не будут работать).

Для синтаксического анализа всех XHTML-сущностей вам потребуется проверка XML-синтаксического анализатора (опция, обычно называемая «разрешить внешние»), которая работает медленнее и требует настройки каталога DTD. Если вы проигнорируете или испортите свой каталог DTD, вы будете участвовать в DDoS-атаках серверов W3C .

4
ответ дан 3 December 2019 в 13:23
поделиться

« 1 & lt; 2 » позволяет вам поместить « 1 <2 » на вашу страницу.

Длинный ответ:

Поскольку HTML использует « <» для открытия тегов, вы не можете просто ввести « <», если хотите, чтобы это было как текст. Следовательно, у вас должен быть способ сказать: «Я хочу текст < на моей странице». Кто бы ни разработал HTML (или, на самом деле, SGML, предшественник HTML), решил использовать ' & something ; », чтобы вы также могли помещать такие вещи, как неразрывный пробел:' & nbsp ; '(пробелы, которые не сворачиваются или допускают разрыв строки). Конечно, теперь вам нужно иметь способ сказать « & », чтобы вы получили « & amp; » ...

14
ответ дан 3 December 2019 в 13:23
поделиться

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

Набирая это буквально в HTML

Я не имею в виду это так

вызовет исчезновение тега "",

например,

Я не имею в виду это

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

например

Нет, правда! & lt; / sarcasm & gt;

дает

Нет, правда!

по желанию.

1
ответ дан 3 December 2019 в 13:23
поделиться

Символьные сущности используются для представления символов, которые зарезервированы для записи HTML для.ex. <,>, /, & и т. д., если вы хотите представить эти символы в вашем контенте, вы должны использовать символьные сущности, это поможет парсеру различать контент и разметку

3
ответ дан 3 December 2019 в 13:23
поделиться

Их нет, за исключением и , & lt; , & gt; , & quot; и, вероятно, & nbsp; . Для всех остальных символов просто используйте UTF-8.

7
ответ дан 3 December 2019 в 13:23
поделиться