get video from content

时间:2014-07-12 作者:renathy

我有一篇帖子,里面有YouTube视频。内容在里面$content. 目前我正在做the_content() 这会在我的页面上显示全部内容。该页面包含所有视频的列表。问题是,有时完整内容太大,无法在此列表中显示。所以我想限制内容中的文本,但仍然想显示第一个视频:

我想

获取文本:从内容中提取前200个字符,但不包括视频。获取视频:仅获取视频链接,并在文本下显示YouTube视频。我不知道如何存档。也许,我必须使用一些Regexp,也许我可以自己发明轮子,但我相信WordPress应该已经做了一些事情。由于我是WP的新手,我还没有找到任何东西。

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

假设您的内容在变量中$content 首先,可以使用删除所有html标记wp_strip_all_tags:

$new_content = wp_strip_all_tags( $content );
然后,您需要使用substr:

$new_content = substr( $new_content, 0, 200 );
要检索YouTube视频,您需要使用preg_match:

preg_match( \'/(<iframe.*?src="(.*?youtube.*?)".*?<\\/iframe>)/\', $html, $matches );
if ( $matches ) {
  $iframe = $matches[1];
  $url = $matches[2];
}
(我不确定您是想要嵌入iframe还是src URL,所以我已经包含了两者的匹配。)

结束

相关推荐

get post excerpt by query

我正在尝试通过查询获取帖子摘要我的代码如下global $wpdb; $posts = $wpdb->get_results (\"SELECT post_title, post_excerpt FROM $wpdb->posts WHERE post_status = \'publish\' AND (post_type = \'post\') AND post_content LIKE \'%My Text%\' ORDER BY post_date DESC\