Ticket #8341 (confirmed Bug)

Opened 3 years ago

Last modified 3 months ago

Faulty removal of empty spans in paste from word cleaning

Reported by: toma25 Owned by:
Priority: Normal Milestone:
Component: Plugin : Paste from Word Version:
Keywords: Cc:

Description

In the paste from word plugin, there is a regexp replace of "<span>" for removing empty spans. The intention is right, but it is done without respect to the end tag. Thus ending up in a faulty DOM and destroying formatting of doc.

e.g. <p>normal <span style="my style"> text <span>with</span> my style.</span></p> Will cause styling to end after "with" instead of at "style."

This can in fact not be cleaned in regexp, it has to be done in the DOM.

The error is at line 1131 in _source\plugins\pastefromword\filter\default.js

The faulty code: Remove the dummy spans ( having no inline style ). data = data.replace( /<span>/g, );

Looked back to version 3.4 its at least that old.

Change History

comment:1 Changed 3 years ago by j.swiderski

  • Status changed from new to pending

Are you able to provide a sample word document that causes the problem you are talking about?

The code you have provided explains what you mean but doesn't really help to reproduce the issue

e.g. <p>normal <span style="my style"> text <span>with</span> my style.</span></p>

comment:2 Changed 3 years ago by toma25

Unfortunately I cant. The thing is, we do some pre-cleaning of the HTML from word, before letting it over to the CK editor word cleaning. For that I have an example that produces empty span tags. Regardless of reproducing or not, it is not correct to remove just a start tag. It has to be removed from the DOM.

Sorry about not being able to reproduce.

comment:3 Changed 3 years ago by j.swiderski

  • Status changed from pending to confirmed

Although there is no test case, technically @toma25 is right. CKEditor should know which span tag matches which instead of removing the first it finds.

comment:4 Changed 3 months ago by fredck

  • Component changed from Core : Pasting to Plugin : Paste from Word
Note: See TracTickets for help on using tickets.
© 2003 – 2012 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy