从其他网站格式化随机复制文本的最佳方法?

时间:2013-10-15 08:03:49

标签: c# javascript html css user-generated-content

问题:

我的网站允许用户将其他文件/文档(如MS Word和网站(例如CNN.com))中的内容复制/粘贴到我们提供的Rich TextEditor中。这个Rick TextEditor支持(我们也必须支持)使用嵌入式样式粘贴内容,这会带来随机样式,标记来自内容源的内联样式。

例如:如果您从任何MS Word文档粘贴,它会为H1, H2, P, UL/OL/LI, STRONG, I, EM, TABLE等带来自己的样式。从其他网页复制粘贴时也会发生相同的情况。

如何格式化? 我正在寻找处理这些用户生成的内容的格式的最佳方法。首先,我需要保持复制的标签不变。可以说,H1来自MS Word的用户 - 我必须使用给定的企业品牌来保持这种风格。

另一个问题是,当您从外部原点复制/粘贴时 - 某些标记未正确关闭 - 这会导致我的布局中断。我们该如何处理?

对于样式,应用

.article * {
   allKnownCSSProperties: myValues!important;
}

任何方法都可行。 JavaScript,C#是首选。

2 个答案:

答案 0 :(得分:1)

要删除不需要的样式,简单的正则表达式就足够了。在Javascript中:

/( style=['"][^'"]*['"])/g

答案 1 :(得分:0)

我会尝试解决缺少封闭标签的问题,因为: 解析整个邮件并收集不以/>结尾的标记,如果您发现相同的标记以</开头,则将其删除。排除可能没有关闭标记的标记,为仍在收集中的所有标记生成关闭标记,并将它们放在您的Rich TextEditor布局的末尾。它可能在某些情况下不起作用或看起来很笨拙,但首先考虑的是它可能有助于解决问题