在Yahoo!中使用iframe的正则表达式管道

时间:2011-11-17 17:50:51

标签: regex iframe yahoo-pipes

我正在建立一个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

我已经确认这也是管道输出中的结果,而不仅仅是雅虎!管道调试控制台。

我到目前为止尝试用&lt;&gt;实体替换我的尖括号。我已经尝试将整个事情包裹在<![CDATA[ ... ]]>区块中,但我仍然没有得到任何结果。如果我通过删除尖括号来破坏我的iframe标记,则破坏的内容会很好,但是如果我有一个格式正确的iframe元素,它会消失,留下“无iframe支持”文本。我在这里做错了什么,或者是Yahoo! 主动阻止我在生成的管道中使用iframe代码?对谷歌进行粗略搜索并未发现与此相关的任何内容。

有问题的管道在这里:

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

2 个答案:

答案 0 :(得分:1)

This Pipes FAQ Question“为什么Pipes Strip&lt; object&gt;和&lt; embed&gt;标签......?”通过将内容(至少某些内容)放入iframe以确保RSS使用者的安全,显示已执行了一定量的清理 - 尽管它没有具体说明,但这可能也会删除其他iframe为了避免嵌套和其他解决方法。

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

不知道还有什么建议,除了得到其他东西消费和转换你的RSS一点点(通过修复其他破坏的标签?) - 但这就是你开始使用管道,isn'是吗? Idunno ......

祝你好运!

答案 1 :(得分:0)

Pipes热衷于RSS规范,规范说描述字段只是纯文本。 HTML等应该放在内容中:编码字段,而不是我有幸运行管道来做到这一点。