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

Laravel配置rich-text-laravel遇Purifier类型错误及解决方法

解决Laravel配置rich-text-laravel扩展时HTMLPurifier的class_exists参数错误

在配置rich-text-laravel扩展时,按照文档修改HTMLPurifier配置文件后,出现了如下错误:

class_exists(): Argument #1 ($class) must be of type string, HTMLPurifier_AttrDef_Text given

问题原因

配置文件中custom_attributes部分,错误地直接实例化了HTMLPurifier_AttrDef_Text对象,而HTMLPurifier的配置逻辑要求这里传入类名字符串,而非实例化后的对象。

修复方案

将所有new HTMLPurifier_AttrDef_Text替换为HTMLPurifier_AttrDef_Text::class,传递类的字符串名称即可。

修正后的关键代码片段

'custom_attributes' => [
    ['rich-text-attachment', 'sgid', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'content-type', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'url', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'href', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'filename', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'filesize', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'height', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'width', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'previewable', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'presentation', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'caption', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'data-trix-attachment', HTMLPurifier_AttrDef_Text::class],
    ['rich-text-attachment', 'data-trix-attributes', HTMLPurifier_AttrDef_Text::class],
    ['figure', 'data-trix-attachment', HTMLPurifier_AttrDef_Text::class],
    ['figure', 'data-trix-attributes', HTMLPurifier_AttrDef_Text::class],
],

替换后重新运行代码,错误即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 16:07:54