我需要生成一个多行HTML代码段,以便转义并呈现给用户。
这是我希望用户获得的原始HTML:
<h1>Here is your HTML:</h1>
<div>
<script>
alert("Hello world");
</script>
</div>
将呈现为:
Here is your HTML:
<script>
alert("Hello world");
</script>
我发现在视图中编写${'<script>alert("Hello world");</script>'}
确实会逃避它,但这似乎不适用于${''}$
内的多行字符串 - 我收到了以下错误:
expecting anything but ''\n''; got it anyway
目前是否有办法在视图中转义多行字符串? (不从控制器传递字符串或类似的东西)
答案 0 :(得分:1)
更好的方法可能是使用escape()。raw():
${ "<script> alert(\"Hello world\"); </script>".escape().raw() }
答案 1 :(得分:0)
我似乎错过了最明显的解决方案:使用${''}
的多个实例:
<h1>Here is your HTML:</h1>
<div>
<pre>
${'<script>'}
alert("Hello world");
${'</script>'}
</pre>
</div>