首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 ><code> ... </code>外部的ruby nl2br

<code> ... </code>外部的ruby nl2br
EN

Stack Overflow用户
提问于 2010-03-09 05:22:36
回答 1查看 483关注 0票数 0

我已经在这个东西上挣扎了一个星期,都没能找到我要找的东西。

这是我想要做的:

我正在建立一个wiki,我可以在其中发布我所有的知识(是的,我知道一些事情:p),但我不能以我想要的方式呈现它。我的帖子正文是文本字段。为了以正确的方式呈现它们,我运行以下命令:

代码语言:javascript
运行
复制
@post.body.gsub("\n", "<br />")

我也有一些标签,里面有一些代码,看起来像这样< code> my code < /code>。

问题来了。< code>和< /code>标记之间的每一行都更改为

但是它不能正确地渲染,因为我使用的是代码渲染模板。

因此,我想知道是否有办法将所有\n更改为< br />,< code>和< /code>之间的那些除外

感谢大家阅读这篇文章并帮助我走出困境。

PS:请不要考虑每个标签中<后面的空格。我不得不这样做,以"espace“他们。

朱利安

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-16 21:16:44

simple_format将替换您的\n<br/>,并将双倍\n\n替换到<p></p> http://apidock.com/rails/ActionView/Helpers/TextHelper/simple_format

这里有一个帮助你解决问题的方法

代码语言:javascript
运行
复制
def text_format(text)
  reg = /(<code>[.|\W|\w]+<\/code>)/
  text.split(reg).map{|t| t =~ reg ? t : t.gsub(/\n/, "<br />") }.join()
end

text = 'Hello pedro!

        Here is my code:

        <code>
          def text_format(text)
            reg = /(<code>[.|\W|\w]+<\/code>)/
            text.split(reg).map{|t| t =~ reg ? t : t.gsub(/\n/, "<br />") }.join()
          end
        </code>

        Good luck!'

text_format text
#=> "Hello pedro!<br /><br />Here is my code:<br /><br /><code>\n  def text_format(text)\n    reg = /(<code>[.|\\W|\\w]+<\\/code>)/\n    text.split(reg).map{|t| t =~ reg ? t.gsub(/\\n/, "<br />") : t }.join()\n  end\n</code><br /><br />Good luck!"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2404858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档