这是我狂野而古怪的伪代码。有人知道如何实现这一点吗?
背景:
此动态内容来自 ckeditor。许多人将 Microsoft Word 内容粘贴到其中。不用担心,如果我只是调用属性不变,它会加载得很好。但问题是我希望它只有 125 个字符的缩写。当我向其中添加截断时,所有 Microsoft Word 脚本都会开始弹出。然后我添加了 simple_format、清理和截断,甚至让我的 Controller 开始找出 MS 生成的特定变量并将它们 gsub 出来。但它们太多了,而且实现这一目标的方式似乎非常困惑。如此如此!意识到这一点本身就干净了。我想,为什么不直接切片呢。但是,Microsoft Word 文本变为空白,但仍保留其在字符串中的编号位置。所以我想出了下面这个(可能很糟糕)的解决方案。
分三步。
- 解析文本时,不会显示任何 MSWord 垃圾。但该文本仍然在切片语句中保留数字位置。所以我想使用正则表达式来查找第一个实际字符。
- 获取该字符并找出其在整个字符串中的编号位置。
使用切片语句将其剪切。
def about_us_truncated x = self.about_us.find.first(regExp representing first actual character) x.charCount = y self.about_us[y..125] end
我得到的唯一的其他想法是一个正则表达式语句,它允许它显式地仅对实际字符进行切片,如下所示:
about_us([a-zA-Z][0..125])
,但这绝对不是它的写法。
以下是 MS Word 垃圾的一些示例文本:
≪! [If Gte Mso 9]>≪Xml>≪Br /> ≪O:Office Document Settings>≪Br /> ≪O:Allow Png/>≪Br /> ≪/O:Off...
最佳答案
您没有提供太多可引用的信息,但在寻求帮助之前,不要对尝试自己构建此正则表达式过于谨慎......
获取示例文本并将其粘贴到Rubular中在测试字符串区域并开始构建正则表达式。它的底部有一个很棒的快速引用。
关于ruby-on-rails - 清理从 MS-Word 粘贴的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104611/