帖子内容中有一些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>
最合适的回答,由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>
一片空白。