从FCKeditor中剥离外部不需要的CSS或额外的背景内容

时间:2010-01-11 06:02:39

标签: php javascript jquery mysql fckeditor

是否有任何方法可以删除FCKeditor提交给服务器的不需要的后台内容(外部css)?

目前,许多用户直接从Web内容或外部编辑器(如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">

3 个答案:

答案 0 :(得分:2)

在fckconfig.js中设置:

FCKConfig.ForcePasteAsPlainText = true;

强制用户将其副本粘贴为纯文本

答案 1 :(得分:1)

这是我用PHP编写的Web应用程序的一个令人愤怒的问题。我最后使用strpos()搜索了有关'w:'和'StartFragment'的任何实例的字符串,如果我找到了其中任何一个,我调用了PHP函数strip_tags();

然后我提醒用户格式化已丢失并建议格式化在应用程序内完成,而不是在MS Word中完成。

完全不完美,是的,但对我的用户有用。

答案 2 :(得分:0)

我怀疑你在这里没有答案的原因是这是一个古老的问题,据我所知,没有真正的好解决方案。它也是最令人愤怒的,因为在我看来,Word不应该在复制和粘贴中包含所有这些无关的数据。除了它导致布局问题之外,它还会阻止您的页面验证。

通常,当我需要从Word复制到HTML编辑器时,我首先复制并粘贴到记事本或其他纯文本编辑器中,然后再次重新选择所有文本并从记事本复制到HTML编辑器中。这意味着所有与字相关的垃圾都被丢弃了。由于我工作的大部分网站都是商业网站,我向客户提出同样的建议,除非有人忘记了奇怪的问题,他们很乐意这样做,而且工作正常。显然,如果普通公众将html输入您的网站,但您至少可以提供某种咨询信息,那就有点棘手了。

某些编辑器(如TinyMCE)会从word按钮提供粘贴。虽然这有一个很好的尝试去除所有单词数据我仍然发现它不到100%所以,暂时我只是避免从Word直接粘贴到HTML编辑器。

对不起,我不能提供更好的消息,但除非别人有更好的方法建议,这是我能做的最好的,我害怕