如何配置TinyMCE以允许锚(a)标记内的块级元素?

时间:2013-01-30 05:20:37

标签: html5 tinymce

以下是我的情景:

我希望能够创建像

这样的内容
  

< DIV> < a id =“supportTile”class =“contentModule”   HREF = “/支持” > < H2>载体< / H2> < / A>   < / DIV>

然而,tinyMCE将其剥离为

  

< DIV> < H2>载体< / H2> < / DIV>

我的配置目前是这样的(使用TinyMCE jQuery):

script_url: _applicationRoot + "Scripts/tiny_mce/tiny_mce.js",
theme: "advanced",                    
plugins: "paste,filemanager,imagemanager,advimage,inlinepopups",
...
extended_valid_elements: "img[!src|border:0|alt|title|width|height|style|name|id|class],a[href|target|title|onclick|name|id|class],article[name|id|class],div[name|id|class],section[name|id|class]",
schema: "html5",               
...
convert_urls: true,
document_base_url: _applicationRoot

我尝试设置verify_html:false但没有运气。

我尝试删除extended_valid_elements并将其替换为:

valid_elements: "*[*]",
verify_html: false

也没有运气。

你能看到我的配置有问题吗?这是否可以实现?

谢谢!

2 个答案:

答案 0 :(得分:7)

是的,这应该是可以实现的。为了能够产生像

这样的输出
<div> <a id="supportTile" class="contentModule" href="/Support"> <h2>Support</h2> </a> </div>

您必须修改tinymce设置valid_children和valid_elements。您需要注意,您可能需要放大默认设置。

valid_elements: "*[*]"无效,因为有希望在最新版本或下一版本中删除的错误。

我使用此设置(我不使用div和h2s)

valid_elements: "@[id|class|title|style],"
+ "a[name|href|target|title|alt],"
+ "#p,-ol,-ul,-li,br,img[src|unselectable],-sub,-sup,-b,-i,-u,"
+ "-span[data-mce-type],hr",

valid_child_elements : "body[p,ol,ul]"
+ ",p[a|span|b|i|u|sup|sub|img|hr|#text]"
+ ",span[a|b|i|u|sup|sub|img|#text]"
+ ",a[span|b|i|u|sup|sub|img|#text]"
+ ",b[span|a|i|u|sup|sub|img|#text]"
+ ",i[span|a|b|u|sup|sub|img|#text]"
+ ",sup[span|a|i|b|u|sub|img|#text]"
+ ",sub[span|a|i|b|u|sup|img|#text]"
+ ",li[span|a|b|i|u|sup|sub|img|ol|ul|#text]"
+ ",ol[li]"
+ ",ul[li]",

答案 1 :(得分:1)

我找到了另一种方法来做到这一点并想到分享! 有一个名为allow_html_in_named_anchor的标志,它将任何HTML保留在锚点内。