繁体   English   中英

我可以在视图中转义多行代码段吗?

[英]Can I escape a multi-line snippet in the view?

我需要生成多行HTML代码段,以进行转义并将其呈现给用户。

这是我希望用户获得的原始HTML:

<h1>Here is your HTML:</h1>
<div>
  &lt;script&gt;
    alert("Hello world");
  &lt;/script&gt;
</div>

将呈现为:

Here is your HTML:

<script>
  alert("Hello world");
</script>

我发现在视图中编写${'<script>alert("Hello world");</script>'}确实可以将其转义,但这似乎不适用于${''}$多行字符串${''}$ -我收到以下错误:

expecting anything but ''\n''; got it anyway

当前是否有一种方法可以在视图中转义多行字符串? (不从控制器传递字符串或类似的东西)

更好的方法可能是使用escape()。raw():



    ${ "<script> alert(\"Hello world\"); </script>".escape().raw() }

我似乎错过了最明显的解决方案:使用${''}多个实例:

<h1>Here is your HTML:</h1>
<div>
<pre>
${'<script>'}
  alert("Hello world");
${'</script>'}
</pre>
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM