views:

154

answers:

2

Hi All,

Is there any method available to strip unwanted background content (external css) being submitted to server by FCKeditor?

Currently many users are directly copying from web contents or from external editors like MS Word 7 which adds unwanted stuff in background while storing data to database. For e.g. when i copy pasted contents from MS Word 7 it adds something like as shown below, but it creates problem while rendering contents in IE 7/8, Mozilla renders perfectly. I am using PHP and MySQL.

<p>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />

<meta content="Word.Document" name="ProgId" />

<meta content="Microsoft Word 12" name="Generator" />

<meta content="Microsoft Word 12" name="Originator" />

<link href="file:///C:\Users\Albert\AppData\Local\Temp\msohtmlclip1\01\clip_filelist.xml" rel="File-List" />

<link href="file:///C:\Users\Albert\AppData\Local\Temp\msohtmlclip1\01\clip_themedata.thmx" rel="themeData" />

<link href="file:///C:\Users\Albert\AppData\Local\Temp\msohtmlclip1\01\clip_colorschememapping.xml" rel="colorSchemeMapping" /><!--[if gte mso 9]><xml>

<w:WordDocument>

<w:View>Normal</w:View>

<w:Zoom>0</w:Zoom>

<w:TrackMoves />

<w:TrackFormatting />

<w:HyphenationZone>21</w:HyphenationZone>

<w:PunctuationKerning />

<w:ValidateAgainstSchemas />

<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>

<w:IgnoreMixedContent>false</w:IgnoreMixedContent>

<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>

<w:DoNotPromoteQF />

<w:LidThemeOther>NL</w:LidThemeOther>

<w:LidThemeAsian>X-NONE</w:LidThemeAsian>

<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>

<w:Compatibility>

<w:BreakWrappedTables />

<w:SnapToGridInCell />

<w:WrapTextWithPunct />

<w:UseAsianBreakRules />

<w:DontGrowAutofit />

<w:SplitPgBreakAndParaMark />

<w:DontVertAlignCellWithSp />

<w:DontBreakConstrainedForcedTables />

<w:DontVertAlignInTxbx />

<w:Word11KerningPairs />

<w:CachedColBalance />

<w:UseFELayout />

</w:Compatibility>

<m:mathPr>

<m:mathFont m:val="Cambria Math" />

<m:brkBin m:val="before" />

<m:brkBinSub m:val="&#45;-" />

<m:smallFrac m:val="off" />

<m:dispDef />

<m:lMargin m:val="0" />

<m:rMargin m:val="0" />

<m:defJc m:val="centerGroup" />

<m:wrapIndent m:val="1440" />

<m:intLim m:val="subSup" />

<m:naryLim m:val="undOvr" />

</m:mathPr></w:WordDocument>

</xml><![endif]--><!--[if gte mso 9]><xml>

<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"

DefSemiHidden="true" DefQFormat="false" DefPriority="99"

LatentStyleCount="267">

<w:LsdException Locked="false" Priority="0" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Normal" />

<w:LsdException Locked="false" Priority="9" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="heading 1" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" />

<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" />

<w:LsdException Locked="false" Priority="39" Name="toc 1" />

<w:LsdException Locked="false" Priority="39" Name="toc 2" />

<w:LsdException Locked="false" Priority="39" Name="toc 3" />

<w:LsdException Locked="false" Priority="39" Name="toc 4" />

<w:LsdException Locked="false" Priority="39" Name="toc 5" />

<w:LsdException Locked="false" Priority="39" Name="toc 6" />

<w:LsdException Locked="false" Priority="39" Name="toc 7" />

<w:LsdException Locked="false" Priority="39" Name="toc 8" />

<w:LsdException Locked="false" Priority="39" Name="toc 9" />

<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption" />

<w:LsdException Locked="false" Priority="10" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Title" />

<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font" />

<w:LsdException Locked="false" Priority="11" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Subtitle" />

<w:LsdException Locked="false" Priority="22" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Strong" />

<w:LsdException Locked="false" Priority="20" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Emphasis" />

<w:LsdException Locked="false" Priority="59" SemiHidden="false"

UnhideWhenUsed="false" Name="Table Grid" />

<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" />

<w:LsdException Locked="false" Priority="1" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="No Spacing" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading Accent 1" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List Accent 1" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid Accent 1" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1 Accent 1" />

<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" />

<w:LsdException Locked="false" Priority="34" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" />

<w:LsdException Locked="false" Priority="29" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Quote" />

<w:LsdException Locked="false" Priority="30" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2 Accent 1" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List Accent 1" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading Accent 1" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List Accent 1" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid Accent 1" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading Accent 2" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List Accent 2" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid Accent 2" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1 Accent 2" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2 Accent 2" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List Accent 2" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading Accent 2" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List Accent 2" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid Accent 2" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading Accent 3" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List Accent 3" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid Accent 3" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1 Accent 3" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2 Accent 3" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List Accent 3" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading Accent 3" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List Accent 3" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid Accent 3" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading Accent 4" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List Accent 4" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid Accent 4" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1 Accent 4" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2 Accent 4" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List Accent 4" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading Accent 4" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List Accent 4" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid Accent 4" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading Accent 5" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List Accent 5" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid Accent 5" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1 Accent 5" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2 Accent 5" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List Accent 5" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading Accent 5" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List Accent 5" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid Accent 5" />

<w:LsdException Locked="false" Priority="60" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Shading Accent 6" />

<w:LsdException Locked="false" Priority="61" SemiHidden="false"

UnhideWhenUsed="false" Name="Light List Accent 6" />

<w:LsdException Locked="false" Priority="62" SemiHidden="false"

UnhideWhenUsed="false" Name="Light Grid Accent 6" />

<w:LsdException Locked="false" Priority="63" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" />

<w:LsdException Locked="false" Priority="64" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" />

<w:LsdException Locked="false" Priority="65" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 1 Accent 6" />

<w:LsdException Locked="false" Priority="66" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium List 2 Accent 6" />

<w:LsdException Locked="false" Priority="67" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" />

<w:LsdException Locked="false" Priority="68" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" />

<w:LsdException Locked="false" Priority="69" SemiHidden="false"

UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" />

<w:LsdException Locked="false" Priority="70" SemiHidden="false"

UnhideWhenUsed="false" Name="Dark List Accent 6" />

<w:LsdException Locked="false" Priority="71" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Shading Accent 6" />

<w:LsdException Locked="false" Priority="72" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful List Accent 6" />

<w:LsdException Locked="false" Priority="73" SemiHidden="false"

UnhideWhenUsed="false" Name="Colorful Grid Accent 6" />

<w:LsdException Locked="false" Priority="19" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis" />

<w:LsdException Locked="false" Priority="21" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" />

<w:LsdException Locked="false" Priority="31" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" />

<w:LsdException Locked="false" Priority="32" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" />

<w:LsdException Locked="false" Priority="33" SemiHidden="false"

UnhideWhenUsed="false" QFormat="true" Name="Book Title" />

<w:LsdException Locked="false" Priority="37" Name="Bibliography" />

<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" />

</w:LatentStyles>

</xml><![endif]--><style type="text/css">
A: 

Hi,

I suspect the reason you haven't had an answer here is that this is an age old problem that, to the best of my knowledge, has no real great solution. Its also most infuriating as, in my opinion, Word should not be including all this extraneous data in a copy and paste. Besides the fact that it causes layout issues as you have seen, it will also prevent your page from validating.

Generally when I need to copy from Word into an HTML Editor, I copy and paste into Notepad or another plain text editor first, then reselect all the text again and copy from Notepad into the HTML editor. This means that all the word-related junk is dropped. As most of the sites I work on are generally business sites, I give the same advice to my clients and, barring the odd issues where someone forgets, they are happy to do this and it works fine. Obviously its a bit trickier if it is the general public who are entering the html into your site but you could at least provide some sort of advisory message.

Some editors, such as TinyMCE, offer a paste from word button. Whilst this has a good attempt to strip out all of the word data I still find it is less then 100% and so, for the time being I simply avoid pasting from Word directly into an HTML editor.

Sorry I can't provide better news but unless someone else has a better method to suggest, that's the best I can do I'm afraid

Addsy
+1  A: 

in fckconfig.js set:

FCKConfig.ForcePasteAsPlainText = true ;

forcing the users to paste their copy as plain text

jebaird
that is the only safe way with fck ..
Gaby