我已经在这个东西上挣扎了一个星期,都没能找到我要找的东西。
这是我想要做的:
我正在建立一个wiki,我可以在其中发布我所有的知识(是的,我知道一些事情:p),但我不能以我想要的方式呈现它。我的帖子正文是文本字段。为了以正确的方式呈现它们,我运行以下命令:
@post.body.gsub("\n", "<br />")
我也有一些标签,里面有一些代码,看起来像这样< code> my code < /code>。
问题来了。< code>和< /code>标记之间的每一行都更改为
但是它不能正确地渲染,因为我使用的是代码渲染模板。
因此,我想知道是否有办法将所有\n更改为< br />,< code>和< /code>之间的那些除外
感谢大家阅读这篇文章并帮助我走出困境。
PS:请不要考虑每个标签中<后面的空格。我不得不这样做,以"espace“他们。
朱利安
发布于 2010-04-16 21:16:44
simple_format
将替换您的\n
到<br/>
,并将双倍\n\n
替换到<p></p>
http://apidock.com/rails/ActionView/Helpers/TextHelper/simple_format
这里有一个帮助你解决问题的方法
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!"
https://stackoverflow.com/questions/2404858
复制相似问题