【问题标题】:Output an exact string in Blade template在 Blade 模板中输出一个精确的字符串
【发布时间】:2018-10-23 15:17:47
【问题描述】:

我正在尝试将 Sendgrid 的替换标签(它们看起来像这样:<%asm_preferences_url%>)添加到我在 HTML 电子邮件中使用的 Blade 模板中。但是,它们正在被删除,(可能是因为它们看起来像无效的 HTML 标记)。

有没有办法告诉 Laravel 或 Blade,“嘿,完全按原样输出这个字符串,不要管它”?我试过{!! '<%asm_preferences_url%>' !!},但它被剥离了。使用{{ '<%asm_preferences_url%>' }}, 会变成 HTML 实体,Sendgrid 无法识别这些实体。

我尝试过的事情:

<p>{!! '<%asm_preferences_url%>' !!}</p>  // becomes <p></p>
<p>{{ '<%asm_preferences_url%>' }}</p>    // becomes <p>&lt;%asm_preferences_url%&gt;</p>  
<p><%asm_preferences_url%></p>            // becomes <p></p>

期望的输出:

<p><%asm_preferences_url%></p>

当我查看已编译的刀片模板时,它包含以下内容(使用上面“我尝试过的事情”下的第一种方法时):

<?php echo '<%asm_preferences_url%>'; ?>

这似乎是正确的,所以编译后必须删除字符串。

【问题讨论】:

    标签: php laravel sendgrid laravel-blade


    【解决方案1】:

    这将防止您的标签被回声破坏:

    <?php echo htmlentities(<%asm_preferences_url%>); ?>
    

    【讨论】:

    • 我不想转换 符号。这输出&amp;lt;%asm_preferences_url%&amp;gt;,但我正在寻找要打印的文字&lt;%asm_preferences_url%&gt;,以便Sendgrid可以处理它。
    • 你试过了吗? @JohnB
    • 是的。我上面评论中的输出来自使用您发布的代码。
    • 我已经试过了,我得到了这个语法&lt;%asm_preferences_url%&gt;@JohnB
    • 这是您在浏览器中看到的,还是在 HTML 源代码中看到的?我希望 HTML 源代码具有 &lt;%asm_preferences_url%&gt;
    猜你喜欢
    • 1970-01-01
    • 2018-10-27
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    相关资源
    最近更新 更多