tinyMCE позволяет вам указать «белый список» разрешенных тегов, который удалит все теги, не включенные в список:
tinyMCE.init({
... // other init instructions
valid_elements: 'p,a[href],br',
});
В нашем собственном проекте мы объединяем этот белый список с внутренним конвертером, который превращает HTML в BB-подобный формат для базы данных, а затем снова возвращается в HTML, когда его нужно распечатать на странице.
Обновление: Теперь, когда вопрос отредактирован для большей ясности, я вижу, что то, что я напечатал выше, не решает проблему. Спрашивающий хочет, чтобы это был способ преобразования символьных сущностей, не затрагивая теги HTML.
В нашем собственном проекте используемый нами внутренний конвертер выполняет эту работу. При преобразовании из HTML в наше внутреннее представление закодированные символы преобразуются в сами символы; при преобразовании обратно в HTML кодируются более высокие символы. Это делается в посимвольном, парсер-подобном стиле. Однако этот подход, вероятно, слишком сложен для ваших нужд.
Многие используют ярлык для использования ряда регулярных выражений, но вам может быть трудно расположить свои регулярные выражения таким образом, чтобы сохранить амперсанды &
и точки с запятой ;
одновременно с переводом символов лица
. Вы также обнаружите, что для покрытия каждой возможной сущности персонажа вам понадобятся десятки регулярных выражений.
Э-э, у меня нет ответа.