刀片引擎:打印三重花括号

Posted

技术标签:

【中文标题】刀片引擎:打印三重花括号【英文标题】:Blade engine: print triple curly braces 【发布时间】:2015-06-19 17:54:15 【问题描述】:

我知道如何在 Laravel 中打印双花括号:@

但是如何打印三重花括号?之前加@的第一个想法是行不通的,Laravel 还是尝试去解释一下。

有没有不将大括号编码为 html 实体的简单方法?

【问题讨论】:

您能否提供一个示例来说明您正在尝试实现的目标(尤其是您当前的代码 sn-p 以及预期与实际输出)? 我想在视图中打印三个大括号。想要的输出:text 无效代码:@text 这已在框架中修复。有关更多信息,请参阅下面的答案。 【参考方案1】:

这是最简单的方法。使用 HTML 实体来转义花括号。在 Laravel 5 中测试。 有关 HTML 实体的列表,请参见此处。 HTML Entities

代码

{{{text}}}

输出

text

【讨论】:

我将只使用{{{text}}} 而不使用大括号。对我来说似乎是最简单的解决方案。谢谢! 这对我不起作用,它只是在字符被转义时输出...... 需要使用!! '{{{' . 'text'. '}}}' !!【参考方案2】:

另一种方法如下

@Text

【讨论】:

【参考方案3】:

我在 laravel 4.2 中尝试使用 Vue.js 渲染一些原始 HTML 时遇到了同样的问题。对我来说,最简单的解决方案是在刀片模板中使用简单的 php echo 语句:

<?php echo ' text '; ?>

为我做了诀窍。

【讨论】:

此外,如果 php 渲染引擎仍然在 echo 中提取它们(就像我们昨天所做的那样),您可以将其分解: 将 text 传递给您的 javascript【参考方案4】:

更新

最近,一个pull request 被合并来解决这个问题!! 从 Laravel 5.1.7 开始,可以按预期使用 @ 符号:

@ ... 

原答案

到目前为止,我发现的最不难看的解决方法是正常转义前两个括号,并在它们和第三个括号之间添加一个不可见的:

@&zwnj;test

如果我发现更好的东西,我会进一步调查并更新这个答案......

【讨论】:

【参考方案5】:

如果您只想打印它们,请使用它:

 '' 

【讨论】:

感谢您的超快回答。但这不能正常工作: 'text' 。什么都没有打印出来。 可能有点奇怪,但这有效: 'text' . '' 。 '' 。 ''

以上是关于刀片引擎:打印三重花括号的主要内容,如果未能解决你的问题,请参考以下文章

如何在刀片花括号中使用 javascript 变量

我可以使用花括号将数据传递给刀片组件吗?

如何在字符串中打印文字花括号字符并在其上使用 .format?

vue.js与后台模板引擎“双花括号”冲突时的解决办法

C语言规范第一个花括号可以不独占一行吗?

C语言规范第一个花括号可以不独占一行吗?