作为我写作的一个聊天应用程序的一部分,我需要使用正则表达式来匹配聊天消息中的星号和下划线,并将它们转换为<strong>
和<em>
标记。由于我用正则表达式很糟糕,所以我很困难。理想情况下,我们可以这样设置:Ruby的正则表达式的星号/下划线强/ em?
- 一到三个单词,但不是更多,可以标记为strong/em。
- 诸如“un * believ * able”之类的模式将被匹配。
- 只有一个或另一个(强或OR)在一行内工作。
上面的参数是按重要性排列的,只有#1是完全必要的 - 其他的只是可爱。最接近我工作的东西是:
text = text.sub(/\*([(0-9a-zA-Z).*])\*/,'<b>\1<\/b>')
text = text.sub(/_([(0-9a-zA-Z).*])_/,'<i>\1<\/i>')
但它显然不适用于我们的任何参数。
奇怪的是,没有一个类似的东西已经在那里,因为使用星号的大胆和whatnot的流行。如果有的话,我无法在插件/宝石之外找到它(这不适用于这个实例,因为我真的只需要它在我的模型中的一个地方)。任何帮助,将不胜感激。
在我看来,你应该使用降价宝石。 – pguardiario 2012-01-14 11:32:09
我的印象是,那些不适合实施,因为它只是在聊天,而不是论坛或CMS。是否有指定降价的哪些部分适用于这些选项? – Megs 2012-01-14 23:25:01