如何从提要中过滤掉IFRAME

时间:2013-01-16 作者:versvs

帖子内容中有一些iframe,我想在生成rss提要时去掉这个iframe。为了生成rss提要,我将显示完整的帖子内容。

我开始看strip_tags() 但它的作用恰恰相反:去掉所有东西,除非是想要的标签。

我想知道也许有一些钩子和wordpress-y的形式来解决这个问题。

我知道我应该这样做:

function rss_noiframe($content) {
    global $post;
    // filter out iframe here
    return $content;
    }

add_filter(\'the_excerpt_rss\', \'rss_noiframe\');
add_filter(\'the_content_feed\', \'rss_noiframe\');
但我在这一点上迷路了。有什么想法吗?

On demand by EAmann, 下面是一些根本没有修改的示例代码(事实上,它仍然出现在提要中):

<iframe src="http://somedomain.net/path/to/frame" frameborder="0" scrolling="no" width="500" height="375"></iframe>

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

一种可能的选择是使用preg_replace 在内容上进行正则表达式匹配,并用空格替换iframe。

所以这个函数:

function rss_noiframe($content) {
    $content = preg_replace( \'/<iframe(.*)\\/iframe>/is\', \'\', $content );

    return $content;
}

add_filter(\'the_excerpt_rss\', \'rss_noiframe\');
add_filter(\'the_content_feed\', \'rss_noiframe\');
应自动转换的任何实例<iframe src=...>...</iframe> 一片空白。

结束

相关推荐

IFrame Thickbox中的自定义管理员屏幕出错

我有一个插件,可以在iframe中添加一个新的管理屏幕。我在插件中创建了一个PHP文件,并在其中添加了一个带有Thickbox类的链接。一切正常,但当WP\\u DEBUG设置为true时,会产生PHP错误。看看WordPress的源代码,如果我从外部输入一个PHP,就无法避免这个错误/wp-admin/ 直接在iframe中。注意:未定义的偏移量:1英寸/wp包括/变量。php在线28之所以会出现这种情况,是因为WordPress在web地址上运行regex来提取文件名以设置$pagenow变量,但它假