You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Carbon日期格式在Bootstrap弹出框中显示异常

问题:Carbon diffForHumans生成的文本在Bootstrap Popover的data-content中被截断

你碰到的这个问题其实是HTML属性解析规则导致的,我之前也踩过类似的坑!

先看你写的popover代码:

<a href="#RE" data-toggle="popover" title="How long since acquired" data-content={{$lengthOwned}}>CLICK FOR TIME LAPSED</a>

当$lengthOwned的值是4 months after时,页面渲染后的HTML会变成这样:

<a href="#RE" data-toggle="popover" title="How long since acquired" data-content=4 months after>CLICK FOR TIME LAPSED</a>

浏览器解析HTML属性时,默认会把第一个空格之前的内容当作属性值,所以data-content被识别成了4,后面的months和after直接被当成无效的独立属性,自然就丢失了。

解决办法:给data-content的值加上双引号

修改Blade代码,把data-content={{$lengthOwned}}改成带双引号的写法:

<a href="#RE" data-toggle="popover" title="How long since acquired" data-content="{{$lengthOwned}}">CLICK FOR TIME LAPSED</a>

这样渲染后的HTML会变成:

<a href="#RE" data-toggle="popover" title="How long since acquired" data-content="4 months after">CLICK FOR TIME LAPSED</a>

浏览器就能完整识别整个字符串作为data-content的属性值,popover里就能正常显示Carbon生成的完整时间差文本了。

另外不用担心转义问题,Laravel Blade的{{ }}语法会自动对特殊字符做HTML转义,哪怕内容里有引号或者其他特殊符号,也能安全渲染。

内容的提问来源于stack exchange,提问作者Hondaman900

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:27:18