Плагин Crayon Syntax Highlighter. Неправильное отображение символов

От:

Плагин Crayon Syntax Highlighter используется для отображения на сайте WordPress страницы с кодом, подсвечивая его соответствующим синтаксисом.

Например, для отображения кода 1С таким, как он выглядит в Конфигураторе 1С включаем тему 1C kod

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

Например, вместо [ мы видим [

А вместо < видим &lt;

Переходим в настройки плагина

Для корректного отображения этих символов в настройках плагина включаем опцию «Decode HTML entities in code»

Опция «Decode HTML entities in code» как раз отвечает за преобразование &#91; → [ и &lt; → <.

Включаем её, затем сохраняем настройки

Обновляем страницу с кодом, переписывать заново ничего не надо

После этого символы должны отображаться нормально.

Так что делает эта галочка?

Она заставляет плагин превращать HTML-сущности обратно в нормальные символы перед тем, как показать код.

То есть, когда мы пишем в WordPress пост с кодом, редактор или плагины могут экранировать специальные символы, чтобы они не сломали HTML-страницу:

СимволЭкранированный вид (HTML-сущность)
&lt;
&gt;
[&#91; (или &lbrack;)
]&#93; (или &rbrack;)
&&amp;

По умолчанию Crayon думает: «О, тут &lt; — значит, автор хочет показать именно этот текст, а не открыть HTML-тег. Так и оставлю».

Но на самом деле автор хочет показать символ <. И включение опции говорит плагину: «Сначала расшифруй всё это обратно в нормальные символы, а потом уже подсвечивай синтаксис».

Почему эта опция не включена по умолчанию?

Потому что в редких случаях автор может действительно хотеть показать текст &lt; как строку (например, в учебном примере про HTML-сущности). Но в 99% случаев людям нужны настоящие [ и <.

Итог:

Плагин перестал «умничать» и начал показывать код так, как мы его написали.


Комментарии закрыты