tinyMCE превращает <i>в <em>на getContent - PullRequest
1 голос
/ 24 июня 2010

в DOM в моем редакторе tinyMCE я вижу

<p>
  <i>testing 123</i>
</p>

, но когда я запускаю

tinyMCE.activeEditor.getContent()

, возвращается

<p>
  <em>testing 123</em>
</p>

Почему это меняется <i> в <em>?У меня проблемы с этим, потому что я хочу динамически вставлять текст, который окружен тегами, и все становится запутанным.

1 Ответ

6 голосов
/ 24 июня 2010

Набор правил по умолчанию для опции valid_elements содержит em/i, что означает, что все <i> теги будут заменены на <em> в выходных данных.Вы можете добавить свой собственный параметр valid_elements, который оставит <i> без изменений.Вы можете просто изменить набор правил по умолчанию для этого:

valid_elements : "@[id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|"
+ "onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|"
+ "onkeydown|onkeyup],a[rel|rev|charset|hreflang|tabindex|accesskey|type|"
+ "name|href|target|title|class|onfocus|onblur],strong/b,em,i,strike,u,"
+ "#p,-ol[type|compact],-ul[type|compact],-li,br,img[longdesc|usemap|"
+ "src|border|alt=|title|hspace|vspace|width|height|align],-sub,-sup,"
+ "-blockquote,-table[border=0|cellspacing|cellpadding|width|frame|rules|"
+ "height|align|summary|bgcolor|background|bordercolor],-tr[rowspan|width|"
+ "height|align|valign|bgcolor|background|bordercolor],tbody,thead,tfoot,"
+ "#td[colspan|rowspan|width|height|align|valign|bgcolor|background|bordercolor"
+ "|scope],#th[colspan|rowspan|width|height|align|valign|scope],caption,-div,"
+ "-span,-code,-pre,address,-h1,-h2,-h3,-h4,-h5,-h6,hr[size|noshade],-font[face"
+ "|size|color],dd,dl,dt,cite,abbr,acronym,del[datetime|cite],ins[datetime|cite],"
+ "object[classid|width|height|codebase|*],param[name|value|_value],embed[type|width"
+ "|height|src|*],script[src|type],map[name],area[shape|coords|href|alt|target],bdo,"
+ "button,col[align|char|charoff|span|valign|width],colgroup[align|char|charoff|span|"
+ "valign|width],dfn,fieldset,form[action|accept|accept-charset|enctype|method],"
+ "input[accept|alt|checked|disabled|maxlength|name|readonly|size|src|type|value],"
+ "kbd,label[for],legend,noscript,optgroup[label|disabled],option[disabled|label|selected|value],"
+ "q[cite],samp,select[disabled|multiple|name|size],small,"
+ "textarea[cols|rows|disabled|name|readonly],tt,var,big"

Обратите внимание, что я заменил em/i на em,i.Таким образом, и <i>, и <em> являются допустимыми тегами, и ни один из них не будет заменен в выводе.

Если это слишком много, вы также можете сократить список допустимых элементов, чтобы он содержал только те элементы, которые выдействительно нужно в вашем HTML.Например, вы можете не разрешать своим пользователям создавать какие-либо таблицы, и поэтому вы можете просто удалить все ссылки на table, tbody, tr, td и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...