Как остановить TinyMCE от преобразования HTML-сущностей в символы?

6 июн. 2012 г., 22:25:22
Просмотры: 13.7K
Голосов: 4

Вот проблема: я вставляю HTML-код сущности, например, для знака сервиса (℠), в HTML-режиме редактора. Как только я переключаюсь на вкладку "визуально", мой код сущности превращается в реальный символ знака сервиса (вероятно, соответствующий UTF-8 символ или что-то подобное? Я не разбираюсь в кодировках символов...). Мне это не нужно — я хочу, чтобы он оставался в виде ссылки на сущность.

Есть ли какие-то настройки, которые можно изменить, чтобы остановить TinyMCE от этого поведения? Из того, что я прочитал в интернете, понимаю, что это не стандартное поведение — TinyMCE, наоборот, должен преобразовывать символы в их сущности. Так что, возможно, это особенность версии TinyMCE в WordPress?

0
Все ответы на вопрос 2
0

Согласно этой странице, вы можете использовать фильтр tiny_mce_before_init, убедиться, что кодировка сущностей установлена в значение named, а затем добавить любые специальные символы в массив entities.

7 июн. 2012 г. 07:12:57
0

Спасибо, fdsa!

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

// Пользовательская конфигурация для TinyMCE
function wpsx_54398_configure_tiny_mce( $initArray ) {

    // Добавляем распространенные сущности в массив по умолчанию (авторское право, зарегистрированный знак, торговая марка, знак обслуживания, евро)
    // Нечетные элементы — это *номер* сущности, четные — *имя* сущности. Если у сущности нет имени,
    // используется номер с префиксом решетки (например, знак обслуживания — "8480,#8480").
    $initArray['entities'] = $initArray['entities'] . ',169,copy,174,reg,8482,trade,8480,#8480,8364,euro';

    return $initArray;

}
add_filter('tiny_mce_before_init', 'wpsx_54398_configure_tiny_mce');
7 июн. 2012 г. 18:14:36