TinyMCE - 允许文本作为和/或<table> <tbody> <tr> </tr> </tbody> </table>的直接子项

时间:2013-11-29 17:11:18

标签: javascript jquery tinymce tinymce-4

我已经挣扎了大约3个小时,都在测试解决方案并且用Google搜索。 我还没有找到解决这个具体问题的方法。

问题: TinyMCE不允许我将文本作为直接“孩子”插入:

<table>
<tr>
<tbody>

示例:我使用TinyMCE选项&gt;源代码。
输入:

<table>
<tr></tr>
 *[generated]*
</table>

我然后在源代码窗口按“确定”时输出如下:

*[generated]*
<table>
<tbody>
<tr></tr>
</tbody>
</table>

会发生什么是TinyMCE将标记验证为无效并在表格外添加“text”([generated])。

为什么:我想要这个解决方案,因为cms引擎采用静态HTML并找到插入数据动态数据的特殊元素。数据将包含有效的HTML,之后生成的页面中不会存在我的[生成]标记。

我做了什么?我一直在尝试:

extend_valid_elements: "table[#text], table[text], tr[#text],tr[text]",
valid_elements:        "table[theader|tbody|#text|]",
valid_children:        "table[theader|tbody|#text]"

我无法粘贴我一直试图允许的所有不同元素。但现在我没有想法。而且我不想为此做一个肮脏的黑客。

有没有人可以帮助我? 我的设置都是标准的,我刚刚添加了som插件。

  

verify_html:false,   清理:假,

但无论做什么的插件/设置,我都会删除。

英语不是我的母亲,但我希望我能说清楚。

1 个答案:

答案 0 :(得分:0)

我有一些好消息要告诉你。 TinyMCE文档建议valid_elements和valid_children允许一些特殊的控制字符。其中一个字符是允许所有选项。

然而,它仍然需要是以&lt;开头和结尾的元素。 &GT;而不是 #。更好的可能是评论,所以

也就是说,您可以将valid_children设置为&#39; &#39;或#&#39;##&#39;。不确定它将如何应对更换。

我还会看看你的cms文档。如果它足够聪明地处理html属性你可以走那条路线,或者我们上面提到的html评论。

最后,您可以使用beforeload和beforesave样式函数作为MCE的一部分,或者在您自己的代码中将任何#thing#转换为然后返回。

http://www.tinymce.com/wiki.php/Configuration:valid_elements http://www.tinymce.com/wiki.php/Configuration:valid_children