如何在IFTTT的Gmail推送中屏蔽RSS条目内容里的<img>元素
解决IFTTT中RSS转Gmail邮件去除图片标签的问题
嘿,这个问题我熟!你用IFTTT配置RSS转Gmail时,{{EntryContent}}带过来的<img>标签确实烦人,刚好我之前帮不少人搞定过,给你两种靠谱方案:
方案一:IFTTT Pro用户专属——用Filter直接处理(最稳定)
如果你有IFTTT Pro权限,直接用内置的Filter功能写几行JS就能搞定,步骤超简单:
- 打开你的RSS→Gmail规则,在触发源和Gmail动作之间插入一个Filter步骤
- 在Filter的代码编辑器里粘贴这段代码:
// 获取原始的RSS条目内容 const rawContent = EntryContent; // 用正则表达式批量删除所有<img>标签(包含所有属性) const cleanedContent = rawContent.replace(/<img[^>]*>/g, ''); // 将处理后的内容存为新变量,供后续Gmail动作调用 setVariable("CleanedContent", cleanedContent); - 回到Gmail动作的邮件正文设置,把原来的
{{EntryContent}}换成{{CleanedContent}}就行
这个正则/<img[^>]*>/g会精准匹配所有以<img开头、以>结尾的标签,不管里面有多少data-attachment-id这类属性,都能一次性清掉。
方案二:免费用户替代方案——用在线文本替换中转
要是没有Pro权限,也能靠免费的在线文本处理工具中转处理:
- 找一个支持GET请求的在线字符串替换工具(注意选稳定的免费服务)
- 构造一个请求URL,把
{{EntryContent}}作为输入参数,设置要替换的内容为<img[^>]*>,替换为空字符串 - 在IFTTT里把这个URL的返回结果作为邮件正文内容
不过这种方法依赖第三方工具,偶尔可能有请求限制,但个人日常用完全够。
额外小彩蛋:保留图片的说明文字
要是你不想完全删掉图片相关信息,想保留<img>标签里的alt说明文字,可以把Filter里的代码改成这样:
const rawContent = EntryContent; // 把带alt属性的图片替换成文字说明 let cleanedContent = rawContent.replace(/<img[^>]*alt="([^"]*)"[^>]*>/g, ' [图片:$1] '); // 删掉没有alt属性的图片标签 cleanedContent = cleanedContent.replace(/<img[^>]*>/g, ''); setVariable("CleanedContent", cleanedContent);
这样邮件里会显示[图片:xxx]的提示,比空着更友好~
内容的提问来源于stack exchange,提问作者orschiro
相关产品推荐
相关产品推荐

