微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我需要变量中的 HTML 特殊字符

如何解决我需要变量中的 HTML 特殊字符

我有一个 PHP 变量,我需要使用富文本格式(如粗体),但我的代码无法实现。

我怎么能这样做?

例如:

我的文字

<td>{{ $item->item_category->name ?? "Eliminaste esta Categoría" }}</td>

但我需要:

<td>{{ $item->item_category->name ?? "<b>Eliminaste esta Categoría</b>" }}</td>

我尝试了最新的代码,但它不起作用。

解决方法

保持对潜在危险数据值进行转义,然后将您添加的文本(已知文本)取消转义为简单的纯 html:

@if(isset($item->item_category->name))
    <td>{{ $item->item_category->name }}</td>
@else
    <td><b>Eliminaste esta Categoría</b></td>
@endif
,

我个人建议遵循 Watercayman's answer,但如果您真的想按照目前的方式进行操作,则可以使用:

{!! $item->item_category->name ?? "<b>Eliminaste esta Categoría</b>" !!} 

详见documentation

解释两者的区别:

{{ $var }} 运行 echo htmlspecialchars($var);,它可以做几件事,包括将 <b> 转换为 &lt;b&gt;

运行替代 {!! $var !!} 只是执行 echo $var

您可能(应该)使用第一个选项的原因是清理用户提交的数据以防止潜在的安全风险。就您而言,由于它是您编写的硬编码字符串,因此这应该不是问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。