我正在尝试覆盖Piranha CMS中的默认tinymce编辑器,就像这里建议的那样:Configure / override Piranha CMS html editor so as not to add  's to html。我已经花费了大约一个小时来解决这个问题。有很多关于这个问题的资源,但是我无法让它工作。
这是我用来粘贴到TinyICE文本区域的HTML示例。
这是在浏览器源代码中的样子:
我放置了警报来检查是否实际上触发了“paste_postprocess”和“my_cleanup_callback”,但它们没有。并且我仍然在HTML中有“ ”。
我尝试设置“cleanup:true”和“paste_auto_cleanup_on_paste:true”,但这无法帮助触发“paste_postprocess”和“my_cleanup_callback”。
您将如何解决“ ”问题?
- https://wordpress.org/support/topic/correct-way-to-allow-nbsp-entity-in-tinymce
- tinyMCE adding p tags and nbsp automatically
- http://blog.room34.com/archives/5075
- TinyMCE is adding   instead of the space when using the word paste
这是我的tinymce.init的样子。
<script type="text/javascript" src="~/res.ashx/areas/manager/content/js/ext/tiny_mce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
mode: 'specific_textareas',
editor_selector: "editor",
apply_source_formatting: false,
cleanup_on_startup: false,
trim_span_elements: false,
cleanup: false,
convert_urls: false,
force_br_newlines: true,
force_p_newlines: false,
remove_linebreaks: false,
convert_newlines_to_brs: false,
forced_root_block: '',
inline_styles : true,
entity_encoding: 'raw',
verify_html: false,
//forced_root_block: false,
validate_children: false,
remove_redundant_brs: false,
fix_table_elements: false,
entities: '160,nbsp,38,amp,60,lt,62,gt',
plugins: [
"autoresize autolink code hr paste piranhaimage link"
],
width: "100%",
height: "340",
autoresize_min_height: 340,
@if (File.Exists(Server.MapPath("~/areas/manager/content/css/editor.css"))) {
<text>content_css: "@Url.Content("~/areas/manager/content/css/editor.css")",</text>
}
toolbar: "bold italic underline | bullist numlist hr | formatselect removeformat | cut copy paste | link piranhaimage | code",
paste_auto_cleanup_on_paste: false,
paste_postprocess: function (pl, o) {
// remove extra line breaks
o.node.innerHTML = o.node.innerHTML.replace(/ /ig, " ");
alert("a1");
},
cleanup_callback: 'my_cleanup_callback',
});
function my_cleanup_callback(type, value) {
alert("a2");
switch (type) {
case 'get_from_editor':
// Remove characters
value = value.replace(/ /ig, ' ');
alert("a3");
break;
case 'insert_to_editor':
case 'submit_content':
case 'get_from_editor_dom':
case 'insert_to_editor_dom':
case 'setup_content_dom':
case 'submit_content_dom':
default:
break;
}
return value;
}
</script>
这是我用来粘贴到TinyICE文本区域的HTML示例。
<div class="catelog-box">
<img src="images/dance.png" alt="dine">
<div class="cat-detail">
<h2>Dance</h2>
<p>Dis purus arcu etiam auctor risus aliquam mid turpis eu vel, nunc rhoncus lacus natoque ridiculus...</p>
</div>
</div>
这是在浏览器源代码中的样子:
![enter image description here](https://istack.dev59.com/WPb1Z.webp)
我尝试设置“cleanup:true”和“paste_auto_cleanup_on_paste:true”,但这无法帮助触发“paste_postprocess”和“my_cleanup_callback”。
您将如何解决“ ”问题?