如何去除 ERB 模板中的 HTML 空格?
有没有办法使用 Sinatra 去除 ERB 模板中的 HTML 空格?
Slim 引擎可以做到开箱即用,但我不知道 ERB 如何才能做到同样的事情。
Is there a way to strip HTML whitespaces in ERB templates, using Sinatra?
The Slim engine does it out-of-the-box, but I don't know how can ERB do the same.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用下面的正则表达式从 HTML 中去除空格。这不是更好的方法(由于 HTML 的本质不适合正则表达式)。但是,效果很好。
Use below regular expression to strip whitespaces from HTML. It's not preferable method (due to HTML's nature that is not fit for regular expressions). But, it works well.
使用 Rack::Deflater 中间件进行 gzip 压缩(常规 HTTP 内容)。
中间件使用方法:http://www.sinatrarb.com/intro#Rack%20Middleware
Use the Rack::Deflater middleware to gzip compress (regular HTTP stuff).
How to use the middleware: http://www.sinatrarb.com/intro#Rack%20Middleware
Sinatra 允许您创建自己的中间件,一个可能的解决方案(对我有用)是创建一个自定义类(Sinatra 术语中的中间件)并使用它。自定义类使用正则表达式删除所有空格,尊重内容:
Sinatra lets you create your own middleware, a possible solution (that works for me) is to create a custom class (middleware in Sinatra's terms) and use it. The custom class uses a regexp to remove all whitespaces, respecting the content: