【问题标题】:Parsing text on Rails在 Rails 上解析文本
【发布时间】:2012-02-28 10:28:12
【问题描述】:

我在 Ruby on Rails 应用程序中有一个小问题。 你看我有信件,一个用户可以向另一个用户发送消息,依此类推.... 但是随后有回复,当原始文本被提取时,文本字段中每一行的开头应该有“>”(我在这个文本字段中使用 ckeditor),这有助于我将块引用放在那里然后显示它。 所以这个例子是:

我收到的原始消息:

hi there,
howareyouhowareyouhowareyouhowareyouhowareyou howareyou howareyou howareyouhowareyouhowareyouhowareyou howareyou howareyou howareyou
howareyouhowareyouhowareyouhowareyouhowareyouhowareyou howareyouhowareyouhowareyou
howareyouhowareyouhowareyou howareyouhowareyou howareyou howareyou howareyou
howareyou howareyou howareyou howareyou howareyou howareyou howareyou howareyou

回复应该是这样的:

hi sure I am fine

>hi there,
>howareyouhowareyouhowareyouhowareyouhowareyou howareyou howareyou 
>howareyouhowareyouhowareyouhowareyou howareyou howareyou howareyou
>howareyouhowareyouhowareyouhowareyouhowareyouhowareyou
>howareyouhowareyouhowareyou howareyouhowareyouhowareyou
>howareyouhowareyou howareyou howareyou howareyou howareyou 
>howareyou howareyou howareyou howareyou howareyou howareyou 
>howareyou

我希望你看到我在那里做了什么,我的主要问题是如何剪切文本以适应行,同时不要在行尾将单词切成碎片(所以如果有空格),我(显然)知道在每行末尾有 return 时该怎么做,但现在没有任何帮助,因为没有人在每一行都加上 return :(

(对不起,我在回复中每行开头都省略了'>',就像我提到的那样,因为这里的'>'是一个块引用,因此被转换并且不可见)

希望你们理解我的问题并有一些解决方案或者一些有用的链接,因为我正在尝试,但它仍然无法正常工作......或者现在根本没有:(

感谢您的帮助,不胜感激

PS:我在 xing.com 上找到了一个完美的,我必须记住,这些回复可能比一个回复更深入:P thx

【问题讨论】:

  • 78 个字符后换行怎么样?
  • 你知道我想告诉你的,我不能在任何我想要的地方分词:(这就是这里的问题:(

标签: ruby ruby-on-rails-3 parsing text


【解决方案1】:

也许word_wrap 方法是您正在寻找的?

您可以使用word_wrap 将文本分成几行,然后然后将每一行分成较短的几行。然后,如果您检测到一行仍然比您的预期长度(如果有人忘记按“空格”,则可能出现这种情况),将这些行完全拆分在 ' 之后n' 个字符。或者,您可以通过编写一些更智能的分词程序来增强第三步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2020-05-03
    相关资源
    最近更新 更多