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

如何在SPIP的#TEXTE中为img标签添加loading="lazy"属性?

SPIP 4.2 为文章内容图片自动添加懒加载属性

问题原因

你之前的替换方法无效,核心是模板语法的引号冲突,以及未考虑已有loading属性的图片重复添加问题。

解决方案

1. 基础替换(强制给所有img标签添加,不考虑已有属性)

调整模板中的引号使用,避免语法冲突:

[(#TEXTE|replace{'<img'}{'<img loading="lazy"'})]

2. 精准替换(仅给无loading属性的图片添加)

使用正则负向前瞻匹配,跳过已有loading属性的图片,避免重复添加:

[(#TEXTE|replace{'<img(?!.*loading=)[^>]*>'}{'<img loading="lazy" $0>'})]

3. 覆盖已有loading属性(将所有图片的loading统一设为lazy)

如果需要把已有的loading属性强制替换为lazy,用这个规则:

[(#TEXTE|replace{'<img([^>]*)(loading="[^"]+"[^>]*)?>'}{'<img $1 loading="lazy">'})]

补充说明

  • 正则中的(?!.*loading=)是负向前瞻语法,确保匹配的img标签未包含loading属性;
  • $0代表正则匹配到的完整img标签内容,保证原有属性不丢失;
  • 若需兼容大小写的img标签(如<IMG),在正则末尾添加i修饰符即可,例如:
    [(#TEXTE|replace{'<img(?!.*loading=)[^>]*>'}{'<img loading="lazy" $0>'i})]
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:22:40