gpt4 book ai didi

ruby-on-rails - 换行符搞砸了
 标签(Ruby on Rails)

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:21 25 4
gpt4 key购买 nike

我正在开发一个博客,但换行符 (\n) 出现了一些非常烦人的事情。一切正常,除非我发了一篇包含前置标签的帖子,我的换行符搞砸了缩进。

如果我有这样的代码

<pre>
<code>
some code some code
more code more code
</code>
</pre>

由于某些原因,与帖子一起保存在 db 字段中的换行符导致 pre 标记内的任何内容缩进一两个制表符。

我不知道它为什么这样做,但如果我做类似的事情

string.gsub!(/\n/, "<br />")

缩进被删除,所以我知道它与\n 有关。但是后来我的问题是换行符太多了,然后格式就偏离了。

然后我尝试使用如下所示的方法捕获 pre 标签内的所有内容

def remove_newlines(string)
regexp = /<pre>\s?(.*?)\s?<\/pre>/
code = regexp.match(string)
code[1].gsub!(/\n/, "<br />")
end

但我无法让它正常工作。

任何人都知道我怎样才能摆脱这个奇怪的缩进问题,或者对此有任何指示?

谢谢!

最佳答案

听起来您的模板引擎正在自动缩进 <pre> 的内容标签。浏览器渲染 <pre> 中的空白按原样标记(根据规范,它们应该如此)。这意味着 <pre> 中每行开头的空格模板引擎为了使 HTML 源代码更具可读性而添加的内容也在实际页面中呈现,这与 HTML 源代码中大多数其他地方的空白不同。

因此,解决方案取决于您的模板语言。

如果您使用的是 HAML:

HAML FAQ: How do I stop Haml from indenting the contents of my pre and textarea tags?

希望这对您有所帮助。

关于ruby-on-rails - 换行符搞砸了 <pre> 标签(Ruby on Rails),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5533989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com