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

在使用CKEditor的Laravel编辑表单中如何正确渲染已存储的文本内容

问题核心原因

<textarea> 是双闭合标签,默认内容不支持通过value属性赋值,必须写在<textarea>和</textarea>的中间部分,你之前的三种写法都把内容放在了value和placeholder属性里,所以CKEditor读取不到对应内容。
另外你第三种写法存在语法错误,{!!html_entity_decode($basics!!} 缺少右括号,会触发Blade解析报错;同时placeholder属性仅用于无内容时的输入提示,不能作为默认值使用。


正确解决方案

把原有内容放在textarea标签中间,用Blade默认的双大括号输出即可,双大括号会自动做HTML实体转义,避免内容中的特殊标签(比如</textarea>)打断页面结构,CKEditor会自动将转义后的内容还原为富文本展示:

<textarea class="ckeditor form-control" name="basics" id="basics" cols="30" rows="10">
    {{ old('basics', $basics) }}
</textarea>

如果修改后还是不显示,可以在CKEditor初始化逻辑中手动注入内容:

CKEditor 4 示例

CKEDITOR.replace('basics');
CKEDITOR.instances.basics.setData(`{{ old('basics', $basics) }}`);

CKEditor 5 示例

ClassicEditor.create(document.querySelector('#basics'))
.then(editor => {
  editor.setData(`{{ old('basics', $basics) }}`);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 01:27:04