我有一个小的 sinatra 应用程序,我用它来运行一个基本的网站。所述网站的内容由客户提供,其中大部分来自 PDF。因为我不想手动替换所有 <
与 <
, 和 &
与 &
, 有没有办法配置 HAML/Sinatra 自动为我做这件事?
基本上,我有一些像这样的 block :
%p
large block of text here...
multi-line so I can see it in my IDE...
more lines here...
我只想找到一些配置选项,告诉 HAML 遍历所有内容并将不安全的字符替换为对应的 HTML 实体。
我尝试使用 HTMLEntities gem,但是这个网站有很多多行段落,我似乎无法让它工作。我的意思是我会在我的 server.rb
中做这样的事情文件:
def "/some_url"
@encoder = HTMLEntities.new
haml :some_template
end
在我的模板中:
%p
= @encoder.encode("Really long multiline string...
some more lines here...
and more lines...")
它会吐出一个关于缺少结束符的错误 )
.
最佳答案
您可以使用 :escaped
filter :
%p
:escaped
A block of text here that might
contain & and <.
输出:
<p>
A block of text here that might
contain & and <.
</p>
它不是很自动,但可能会减少所需的编辑。
关于html - 西纳特拉和 HAML : auto-escape/convert unsafe HTML characters for a whole template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15364777/