Laravel集成stevebauman/purify v6后HTML标签ID无法显示求助
解决stevebauman/purify v6移除HTML标签id属性的问题
问题核心是HTML Purifier默认禁用id属性,仅在HTML.Allowed中声明[id]不足以生效,需补充关键配置:
1. 启用ID属性支持
在config/purify.php中添加或修改以下配置项:
// 开启id属性支持 'Attr.EnableID' => true, // 可选:若不需要给id自动添加前缀,可设置为空字符串 'Attr.IDPrefix' => '',
2. 修正错误配置
移除Attr.AllowedFrameTargets中的无效值id(该配置仅用于设置允许的链接目标,与id属性无关):
'Attr.AllowedFrameTargets' => ['_blank', '_self', '_parent', '_top'],
3. 更新配置缓存
执行命令刷新配置缓存:
php artisan config:clear php artisan config:cache
4. 验证输出
确保视图中使用正确的输出语法,无额外过滤逻辑:
{!! \Purify::clean($post->content) !!}
原因说明
HTML Purifier出于安全考虑,默认禁用id属性(防止恶意利用id触发脚本或样式攻击),必须通过Attr.EnableID显式开启后,HTML.Allowed中声明的[id]规则才会生效。
内容的提问来源于stack exchange,提问作者AvraSys
相关产品推荐
相关产品推荐

