如何在Laravel的blade模板页面中包含@符号,而不让它被处理为blade代码

3
所以我的困境是这样的。
<p>Email: info@example.com</p>

作为刀片代码处理,不会在响应式Bootstrap网页中调整大小,在我的Laravel 4框架中。
有没有想法让blade忽略@符号?这可能是一个简单的修复,我只是找不到它在网上。
谢谢。
3个回答

9

一种非常简单的方法如下:

someone{{'@'}}email.com

{{ $whatever }} 实际上会被转换为 <?= e($whatever) ?>(其中 e() 是 HTML 转义函数),因此您可以在这里放置一个字符串,它将被输出而不是一个变量。


4
以下内容将避免使用 Blade 语法:
<p>Email: info<?php echo urldecode('%40')?> example.com</p>


%40 is equivalent to @

只是因为我好奇,如果网页有很多内容,这会明显减缓我的网页加载速度吗? - Justin
urldecode()是一个小函数。我不认为它会减慢您的应用程序。但是,我不确定为什么@符号与您的刀片语法冲突。我直接使用"info@email.com"没有任何问题。 - Anam
使用urldecode()不太美观...我的意思是,如果我发布了100封电子邮件,要么我必须分配一个变量,要么在所有100封电子邮件中都使用该函数。 - Keval Domadia
啊,这只是因为我想包含的电子邮件太长了,Bootstrap无法将其分解以调整大小。我的文本编辑器认为@符号是Blade,因此它会将文本着色不同,这让我以为那就是它不能重新调整大小的原因。不过还是谢谢你的帮助,我学到了新东西。 - Justin
非常感谢 @Anam。 - Faiyaj

3

Laravel中也有HTML辅助函数,您可以使用以下代码生成带有混淆的电子邮件地址的mailto标签:

# Generating obsufscated mailto tag
{{ HTML::mailto('myemail@mail.com','Some person'); }}

// Generates :
<a href="mailto:myemail@mail.com">Some person</a>

查看更多关于这些帮助器的内容,请访问http://www.laravel-tricks.com/tricks/generating-html-using-html-methods


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接