<table><tr><td>Sitename</td></tr><tr><td>{{$content}}</td></tr></table>
我通过CKEditor存储电子邮件模板的内容(在MysqL数据库中),它看起来像:
<p>Dear {{$username}},</p><p>This is your new password: {{$newPassword}}</p>
现在我在laravel 5.5中使用mail功能如下:
$content = str_replace(array('username','newPassword'),array($username,$request->confirm_password),addslashes($emailTemplate->templateBody));Mail::send(['HTML' => 'mail'],['content' => $content],function ($message) use($emailTemplate,$user){$message->from($emailTemplate->fromEmail,$emailTemplate->fromname);$message->to($user->email);});
在mailtrap.io发送电子邮件后,我看到邮件如下:
Sitename<p>Dear Niladri,</p> <p>This is your new password: 123456</p>
请注意,在mail.blade中写入Sitename的表,tr,td正在运行,并且电子邮件中没有显示HTML代码.没关系.但只有来自CKEditor的内容显示HTML标签(< p>< / p>).
我做错了什么吗?
解决方法 要在.blade.PHP文件中使用PHP变量的HTML内容,您需要使用{!! $variable !!}而不是{{$variable}}.第一个将呈现您的HTML,第二个将输出为字符串,包括HTML标记.您的mail.blade.PHP文件应如下所示:<table> <tr> <td>Sitename</td> </tr> <tr> <td>{!! $content !!}</td> </tr></table>总结
以上是内存溢出为你收集整理的Laravel 5 Mail模板显示html标签全部内容,希望文章能够帮你解决Laravel 5 Mail模板显示html标签所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)