2016-06-07 66 views
0

我正在使用tinyMCE編輯器來允許用戶爲他們的文章創建內容。它還允許用戶複製和粘貼excel和word內容到編輯器。將Excel表格數據複製到TinyMCE編輯器

當我將excel表格複製到編輯器中時,標題行被視爲div元素。正如我注意到標題行td<b>。當我刪除<b>標籤標題行也按預期工作。樣本內容如下:我是從Excel

應對

Table that i'm coping from excel

輸出在編輯

<table> 
<tr> 
    <b> <td></td></b> 
    <b> <td></td></b> 
    <b> <td></td></b> 
    <b> <td></td></b> 
</tr> 
<tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td>   
</tr> 
<tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    <td></td> 
</tr> 
</table> 

樣品表

enter image description here

編輯器配置如下:

paste_retain_style_properties: "all", 
paste_strip_class_attributes: "none", 
extended_valid_elements: "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],table[style|class|border=2|width|cellspacing|cellpadding|bgcolor],colgroup,col[style|width],tbody,tr[style|class],td[style|class|colspan|rowspan|width|height],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]", 

任何想法將此標題行傳送給編輯器或任何合適的方式來提取<table>標記並從內容中刪除<b>標記?

回答

0

我不確定「extract <table> tag」是什麼意思,但要刪除<b>,您可以爲paste插件配置paste_preprocess選項。 這樣的事情應該做的工作:

paste_preprocess: function(plugin, args) { 
console.log(args.content); // your content 
args.content = args.content.replace(/<b>\s*<td>([^td]+)<\/td>\s*<\/b>/gmi, "<td>$1</td>"); 
} 

https://www.tinymce.com/docs/plugins/paste/#paste_preprocess