2010-01-11 54 views
0

是否有任何方法去除由FCKeditor提交給服務器的不需要的背景內容(external css)?Stripp外部不需要的CSS或來自FCKeditor的額外背景內容

目前許多用戶直接從網頁內容或外部編輯器(如MS Word 7)中複製,這些編輯器在將數據存儲到數據庫時在後臺添加了不需要的內容。對於例如當我從MS Word 7中複製粘貼的內容時,它會添加如下所示的內容,但它在呈現IE 7/8中的內容時產生問題,Mozilla完美呈現。我正在使用PHP和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"> 

回答

0

我懷疑你之所以沒有答案的原因是,這是一個古老的問題,據我所知,沒有真正的偉大的解決方案。它也是最令人生氣的,因爲在我看來,Word不應該將所有這些無關數據都包含在複製和粘貼中。除了它會導致佈局問題的事實,它也會阻止您的頁面進行驗證。

通常當我需要從Word複製到HTML編輯器時,我先複製並粘貼到記事本或其他純文本編輯器中,然後再次選擇所有文本並從記事本複製到HTML編輯器中。這意味着所有與單詞相關的垃圾都會被丟棄。由於我工作的大多數網站通常都是商業網站,因此我會向我的客戶提供相同的建議,除非有人忘記了一些奇怪的問題,否則他們很樂意這樣做,並且工作正常。顯然,如果是一般公衆將html輸入到您的網站中,那麼它有點複雜,但您至少可以提供某種諮詢信息。

某些編輯器(例如TinyMCE)提供了來自單詞按鈕的粘貼。雖然這有一個很好的嘗試去除所有的字數據,我仍然發現它不到100%,所以,目前我只是避免從Word直接粘貼到HTML編輯器。

對不起,我不能提供更好的消息,但除非別人有更好的方法來表明,這是最好的,我可以做我怕

2

在fckconfig.js設置:

FCKConfig.ForcePasteAsPlainText = true;

迫使用戶將他們拷貝粘貼爲純文本

+0

這是fck唯一安全的方式.. – 2010-01-12 21:07:51

1

這是我的PHP編寫的Web App的真氣問題。我結束了尋找有問題的字符串的任何實例「W:」和「StartFragment」使用strpos(),如果我發現任何一個,我稱之爲PHP函數strip_tags();

我再提醒格式化丟失的用戶和建議格式化應用程序內完成,而不是MS Word。

完全不完美,是的,但適合我的用戶。