这不是像您期望的那样编码/解码html的问题。我们有一个奇怪的情况使用CKEDITOR,我们正在回到一个笨拙的html字符串。这已经发生了大约1000次提交中的7次,并且一直在表格内。
CKEDITOR getData()方法返回的html对于前+4000个字符看起来很棒(这个长度可能无关紧要,我只是注意到它们似乎都在3900 - 4100个字符的范围内分解)。
然后在表格中间的某个点我们遇到这种情况(换行和缩进是我的):
<table>
...Lots of good tr's and td's...
<tr>
<td>Borrower Name</td>
<td><td style="pad</td> </tr> </tbody> </table> </body>
</td>
...Missing subsequent td's in this row
</tr>
...Missing subsequent tr's in this table
</tbody>
</table>
请注意,填充样式与其相应属性&amp;的其余部分一起被切断。元件。事实上,整个表的其余部分都被删除了,所有后续的单元格和行都被删除了。
关于所有这一切的奇怪之处在于,提交内容的用户看不到损坏,直到评论它的用户看到它才会被注意到。
我们采访了提交数据的用户,他们似乎没有做任何高级的事情:没有复制/粘贴来自单词,他们没有操纵表格(即,我们将表格作为一部分提供给他们一个模板,他们只是填写它。
最糟糕的是,我没有复制的指示。它似乎只是在几十次尝试中突然出现。我尝试了一切:捣碎按钮;粘贴外国人物;将它连接到自动测试运行器2小时;试图侮辱它。无法弄清楚他们是如何做到的。
这是在CKEDITOR 4.3,IE 8上。
FWIW:我们在页面上有多个CKEDITOR实例。