Regex с iframe в Yahoo! трубы - PullRequest
       31

Regex с iframe в Yahoo! трубы

1 голос
/ 17 ноября 2011

Я строю Yahoo! Канал для получения RSS-канала от Reddit, который ссылается на некоторый контент в описании. Я использую регулярное выражение для соответствия атрибуту href ссылки привязки в поле item.description. Я использую регулярное выражение:

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

В качестве теста я установил замену просто:

$1

и я вижу, что все поле описания было заменено URL. Пока все хорошо.

Затем я вставил следующее в поле замены. Идея заключается в том, чтобы создать контент, который связан с:

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

Что я получаю, однако:

Content: no iframe support End

Я подтвердил, что это также проявляется в выходных данных канала, а не только в Yahoo! Трубы отладочные консольные.

До сих пор я пытался заменить мои угловые скобки на &lt; и &gt; сущностей. Я пытался обернуть все это в <![CDATA[ ... ]]> блок, и все же я ничего не получаю. Если я сломаю свой тег iframe, удалив угловую скобку, разорванное содержимое пройдет нормально, но если у меня будет правильно сформированный элемент iframe, он исчезнет, ​​оставив текст «без поддержки iframe». Я делаю что-то не так, или Yahoo! активно запрещает мне использовать теги iframe в сгенерированном канале? Беглый поиск в Google ничего не связывает с этим.

Труба, о которой идет речь, находится здесь:

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

Ответы [ 2 ]

1 голос
/ 17 ноября 2011

This Pipes FAQ Вопрос"Почему Pipes Strip и теги ...?"показывает, что определенная дезинфекция выполняется путем помещения контента (по крайней мере определенного контента ) в iframe для безопасности потребителей RSS - хотя в нем не указано конкретно, это, вероятно, также удаляет другие iframe вЧтобы избежать вложения и других обходных путей.

Yahoo достаточно велик, я сомневаюсь, что у них есть недельное дезинфицирующее средство, но очень длинный выстрел состоит в том, что вы могли бы обмануть его, вложив iframe в кучу других тегов (опять же, я сомневаюсь, что это будет работать).Кроме того, в зависимости от того, на каком этапе выполняется очистка, возможно, добавление части тега за один шаг, а затем добавление другой части в другое место может сработать (опять же, сомнения меня переполняют)

Не уверен, что еще предложить, кромезаставить что-то еще потреблять и преобразовывать ваш RSS немного больше (исправляя иначе сломанные теги ??) - но это то, для чего вы используете каналы, не так ли?Иденно ...

Удачи!

0 голосов
/ 14 июля 2012

Pipes фанатично предан спецификации RSS, и в спецификации говорится, что поле описания - это просто текст.Предполагается, что HTML и т. Д. Должны входить в поле content: закодировано, а не в том, что мне повезло, что для этого есть каналы.

...