**Проблема:** есть две разнородные задачи – поместить в вику plain-текст, так чтобы он отобразился немодифицированным; и поместить в вику html, так чтобы он отобразился немодифицированным, т.е. отрендерился браузером.
**Предлагаемое решение:**
1. Синтаксис двойных кавычек решает первую задачу. На их содержимом выполняется ##htmlspecialchars()##. !!Сделано!!.
1. Вторую задачу решает новый синтаксис. !!Сделано!!.
1. Предлагается ##""<# #>""##.
1. Во второй задаче в зависимости от опции в конфигурационном файле удаляется или не удаляется опасный html-код. !!Сделано!!.
1. см. ((/Dev/Projects/SafeHTML SafeHTML)) - anti-XSS HTML parser
----
Опасный код – это:
* аттрибуты on*, data*, action="javascript:", href="javacript:", dynsrc.
* таги <object>, <layer>, <ilayer>, <frame>, <iframe>, <script>, <embed>, <applet>, <bgsound>, <style>, <link>, <body>, <meta>, <frameset>.
* убивать опасный css.
* position: (но не backgound-position:)
* @import
* @font-face:
* expression
* behavior
* Для subject предлагается делать ##strip_tags()## с неким небольшим набором разрешённых тегов, типа i, a, b, s, strong, strike, u. Аттрибут style также удалять.