RadEditor 内で許可される HTML タグのリストを指定する方法はありますか? たとえば、エディターで次のタグのみを許可する場合:
b, u, i, strong, br, p
ToolsFile.xml ファイルのプロパティなど、簡単に構成できるもの。
この情報はどこにも見つかりませんでした。
この Telerik フォーラム スレッドで提供されているカスタム コンテンツ フィルターを使用できます。
http://www.telerik.com/forums/restrict-to-table-editing-only
どうぞ:
<script type="text/javascript">
function OnClientLoad(editor, args) {
editor.get_filtersManager().add(new AllowedTagsFilter());
}
AllowedTagsFilter = function() {
AllowedTagsFilter.initializeBase(this);
this.set_isDom(false);
this.set_enabled(true);
this.set_name("AllowedTagsFilter");
this.set_description("Strip the unwanted tags from RadEditor");
}
AllowedTagsFilter.prototype =
{
getHtmlContent: function(content) {
return this._removeHtmlTags(content);
},
getDesignContent: function(content) {
return this._removeHtmlTags(content);
},
_removeHtmlTags: function(initContent) {
var cleanContent;
//Perform necessary REGEX replacement to remove unsupported HTML tags
//Supported Reporting HTML tags: FONT, STRONG, B, EM, I, U, A, OL, UL, LI, DIV, SPAN, P, BR, CENTER
//HTML must be XHTML valid, too, but Editor already provides that filter
//Following REGEX will remove all HTML tags EXCEPT those expliclitly listed
cleanContent = initContent.replace(new RegExp("<(?!\/?(font|strong|b|em|(i(?!mg))|u|a|ol|ul|li|div|span|p|br|center)(?=>|\s?.*>))\/?.*?>", "ig"), "");
return cleanContent;
}
}
AllowedTagsFilter.registerClass('AllowedTagsFilter', Telerik.Web.UI.Editor.Filter);
</script>
<telerik:RadEditor runat="server" OnClientLoad="OnClientLoad" ID="RadEditor1">
<Content>sample content test <br/> test</Content>
</telerik:RadEditor>