【问题标题】:Regex with iframe in Yahoo! Pipes在 Yahoo! 中使用 iframe 进行正则表达式管道
【发布时间】:2011-11-17 17:50:51
【问题描述】:

我正在构建一个 Yahoo!管道从 Reddit 拉取 RSS 提要,该提要链接到描述中的某些内容。我正在使用正则表达式来匹配 item.description 字段中锚链接的 href 属性。我正在使用的正则表达式是:

^.+?href="([^"]+)">\[link\].+?$

作为测试,我将替换设置为简单:

$1

我看到整个描述字段已被 URL 替换。到目前为止,一切顺利。

然后我将以下内容放在替换字段中。这个想法是 iframe 链接到的内容:

Content: <iframe src="$1">no iframe support</iframe> End

然而我得到的是:

Content: no iframe support End

我已经确认这也出现在管道的输出中,而不仅仅是在 Yahoo!管道调试控制台。

到目前为止,我已尝试将尖括号替换为 <> 实体。我已经尝试将整个内容包装在 <![CDATA[ ... ]]> 块中,但我仍然一无所获。如果我通过删除尖括号来破坏我的 iframe 标记,则破坏的内容会很好,但如果我有一个格式良好的 iframe 元素,它就会消失,留下“不支持 iframe”文本。我在这里做错了什么,或者是雅虎! 主动阻止我在生成的管道中使用 iframe 标记?在 Google 上粗略搜索并没有找到与此相关的任何内容。

有问题的管道在这里:

http://pipes.yahoo.com/pipes/pipe.info?_id=2ba41448cadd2347d86f377efd3d199f

【问题讨论】:

  • 我已经接受了一个与“Yahoo! 阻止这个”有关的答案,它或多或少是“是”,但如果有人能找到解决方法,我会很高兴。

标签: regex iframe yahoo-pipes


【解决方案1】:

This Pipes FAQ Question "为什么 Pipes 会去除 标签...?"表明为了 RSS 消费者的安全,通过将内容(至少某些内容)放入 iframe 中执行了一定程度的清理 - 尽管它没有具体说明,但这可能也会删除其他 iframe为了避免嵌套和其他变通方法。

Yahoo 足够大,我怀疑他们有一周的消毒剂,但一个非常长的镜头是你可以通过将 iframe 嵌套在一堆其他标签中来欺骗它(我再次怀疑这会起作用)。还取决于哪个步骤进行了清理,也许在一个步骤中添加标签的一部分,然后在其他地方添加另一部分可能会起作用(再次,怀疑让我不知所措)

不知道还有什么建议,除了获取其他东西来消耗和转换您的 RSS 多一点(通过修复其他损坏的标签??) - 但这就是您开始使用管道的目的,不是吗?是吗?不知道...

祝你好运!

【讨论】:

    【解决方案2】:

    Pipes 对 RSS 规范有着狂热的热爱,规范说描述字段只是纯文本。 HTML 等应该放在 content:encoded 字段中,并不是说我很幸运能让管道做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-26
      • 2012-10-08
      • 1970-01-01
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      相关资源
      最近更新 更多