我正在打造一个雅虎!管道从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元素,它就会消失,留下"no iframe support"文本。是我做错了什么,还是雅虎!主动阻止我在生成的管道中使用iframe标签?在谷歌上粗略地搜索一下,没有找到任何与此相关的内容。
所讨论的管道在这里:
http://pipes.yahoo.com/pipes/pipe.info?_id=2ba41448cadd2347d86f377efd3d199fThis Pipes常见问题"为什么管道会剥离
雅虎足够大,我怀疑他们是否有一个星期的消毒程序,但一个极其渺茫的机会是,你可能能够通过在一堆其他标签中嵌套iframe来欺骗它(我再次怀疑这将起作用)。还取决于哪一步进行了清理,也许在一步中添加一部分标签,然后在其他地方添加另一部分可能会起作用(再次,怀疑淹没了我)
不确定还有什么建议,除了得到一些其他的东西来消费和转换你的RSS多一点(通过修复其他损坏的标签??)-但这就是你开始使用管道的原因,不是吗?Idunno……
祝你好运!
Pipes对RSS规范非常热衷,规范规定描述字段只能是纯文本。HTML等应该放在content:encoded字段中,并不是说我很幸运能让管道做到这一点。