我已经在各种论坛上阅读了很多帖子,并且在SO上,但仍然无法阻止tinymce从可编辑块的末尾剥离空标签。
E.g。我输入了这个:
<a href="blah">zzz</a>
<div class="floatClearer" style=""></div>
..并且在往返(进出HTML模式)时,tinymce剥离整个<div class="floatClearer" style=""></div>
。
根据我发现的各种建议,我尝试了这些东西,还有更多:
div
中的valid_elements
前面的减号,...和这些配置。选项:
verify_html : false,
extended_valid_elements : "div*",
extended_valid_elements : "div[*]",
一切都无济于事。有什么方法可以阻止剥离动作吗?还有其他地方我需要空标签(不仅仅是在这个例子中),所以,如果可以,请告诉我一个特定于我的问题的答案,而不是建议我不使用空标签。
答案 0 :(得分:14)
TinyMCE中存在一个错误,现在已经修复(在v3.5.2中)。感谢@Thariama!
对于未来的搜索者:使用verify_html
选项。
此选项启用或禁用元素清理功能。如果将此选项设置为false,则将跳过所有元素清理,但仍会执行其他清理功能,例如URL转换。
使用示例:
tinyMCE.init({ ... verify_html: false });
答案 1 :(得分:3)
我坚持这一点,因为我 仍然 遇到了这个问题 所有 时间WordPress博客(即使是现在,2016年),我需要使用空div来插入 Google Analytics,Google翻译和 Google跟踪代码管理器。
典型的模式是你在需要它的博客页面上添加一个地方,下次你回来并用TinyMCE编辑器whammo触摸页面,bammo你的div消失了!
我发现的 ONLY 似乎始终可靠地运行,如下所示:
<div id="google_translate_element" style="text-align:right;"><span style="display:none;">ha_ha_I_beat_u_tinyMCE</span></div>
答案 2 :(得分:3)
因为我也有麻烦,我正在添加我的砖 - 在Cliff Ribaudo的答案之上。
因此,我建议在空标记内使用
,该标记不会被剥离,也不会被搜索引擎看到。
这样做并没有被我的tinyMCE剥离:<div class="someclass"> </div>
答案 3 :(得分:1)
对我来说,解决方案是极端的,将有效元素扩展为接受ALL,这可能不理想,但客户很满意
function override_mce_options($initArray) {
$opts = '*[*]';
$initArray['valid_elements'] = $opts;
$initArray['extended_valid_elements'] = $opts;
return $initArray;
}
add_filter('tiny_mce_before_init', 'override_mce_options');
答案 4 :(得分:0)
如果您想阻止删除特定的空标签,请使用选项 extended_valid_elements
。
示例:
tinyMCE.init({
...
extended_valid_elements: 'span[*]'
});
答案 5 :(得分:0)
tinyMCE.init({
...
extended_valid_elements: 'span[*]'
});
我使用的是 TinyMCE 5.5,上面的这个例子并没有阻止 TinyMCE 为我剥离 empty 跨度标签。我正在使用一种解决方法,它比在 span 标签内添加注释以防止 TinyMCE 剥离要好,我已经这样做了,所以我可以包含 fontawesome 图标:
<span class="fas fa-check-circle"><!--icon--></span>
我认为您可以像这样关闭 TinyMCE 中的所有 html 验证/编辑,但我对此并不满意:
tinyMCE.init({
...
extended_valid_elements: 'span[*]'
});
我使用的是 TinyMCE 5.5,上面的这个例子并没有阻止 TinyMCE 为我剥离空的 span 标签。我正在使用一种解决方法,它比在 span 标签内添加注释以防止剥离要好,我已经这样做了,所以我可以包含字体真棒图标:
<span class="fas fa-check-circle"><!--icon--></span>
我认为您可以使用此设置关闭 TinyMCE 中的所有 HTML 验证/编辑,但我对此并不满意:
verify_html: false