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

如何配置HTMLPurifier保留li标签的data-list属性?

解决HTMLPurifier保留li元素data-list属性及原内容的配置方法

要同时保留li标签的data-list="bullet"属性和原内容(避免被替换成编号),需要调整HTMLPurifier的以下配置:

完整配置代码

$config = HTMLPurifier_Config::createDefault();
// 允许指定标签,并明确允许li携带data-list属性
$config->set('HTML.Allowed', 'b,i,strong,em,ol,ul,li[data-list],br');
// 关闭自动链接(保留原配置)
$config->set('AutoFormat.Linkify', false);
// 关闭有序列表自动编号生成,防止li原内容被替换
$config->set('AutoFormat.AutoNumber', false);
// 明确允许li元素的data-list属性
$config->set('HTML.AllowedAttributes', 'li.data-list');

$purifier = new HTMLPurifier($config);

配置要点

  1. 允许data-list属性:在HTML.Allowed中给li标签添加[data-list],或者通过HTML.AllowedAttributes直接指定li.data-list,两种方式都能让HTMLPurifier认可该属性为合法属性,不会被过滤。
  2. 保留li原内容:关闭AutoFormat.AutoNumber配置,默认情况下HTMLPurifier会自动给<ol>内的<li>生成编号内容,覆盖原有的文本,关闭后就能保留原内容AAA。
  3. 无效元素清理:原HTML中的<span class="ql-ui">不在允许标签列表中,会被自动过滤,这是符合配置预期的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 15:06:04