1

我正在使用 WordPress 3.8 并看到oembed API 在 WP 中我们可以简单地放置一个链接,它会自动将该视频嵌入到 WP 中。所以,我的问题是:我如何使用oembed功能?在 PHP 中:给我一些实际的例子,这样我就可以很容易地在我的网络中使用它

我在谷歌看到这个 使用了上面链接中所述的代码:

<?php
    $manager = ProviderManager::getInstance();
    $obj=$manager->provide("http://www.youtube.com/watch?v=QsROH9YfOZk","object");
    $html=$obj->renderClass();
?>

我在本地使用了该代码。所以,

如果你告诉我,我很感激,

我可以在本地实现此 API 以进行测试吗?

提前致谢。

4

1 回答 1

2

首先,您需要在一个特殊的 url 中传递 YouTube 视频的 id:

http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3DID_VIDEO&format=xml

视频示例:https ://www.youtube.com/watch?v=l-gQLqv9f4o

我们使用这个网址:

http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3Dl-gQLqv9f4o&format=xml

输出是生成的 XML 文件:

<oembed>
    <html>
        <iframe width="480" height="270" src="http://www.youtube.com/embed/l-gQLqv9f4o?feature=oembed" frameborder="0" allowfullscreen></iframe>
    </html>
    <author_name>SoulPancake</author_name>
    <height>270</height>
    <width>480</width>
    <thumbnail_url>http://i.ytimg.com/vi/l-gQLqv9f4o/hqdefault.jpg</thumbnail_url>
    <author_url>http://www.youtube.com/user/soulpancake</author_url>
    <provider_name>YouTube</provider_name>
    <type>video</type>
    <thumbnail_width>480</thumbnail_width>
    <provider_url>http://www.youtube.com/</provider_url>
    <thumbnail_height>360</thumbnail_height>
    <version>1.0</version>
    <title>A Pep Talk from Kid President to You</title>
</oembed>

因此,您所要做的就是在PHP的simplexml_load_file函数中传递这个 XML 文件。基本上你需要读取一个 XML 文件来获取视频的 iframe。

<?php

    $xml = simplexml_load_file("http://www.youtube.com/oembed?url=http%3A//www.youtube.com/watch?v%3Dl-gQLqv9f4o&format=xml");

    echo $xml->title . "<br />"; 
    echo $xml->html;
    echo $xml->author_name;

?>

您将拥有视频的标题、iframe 代码和视频的作者。

于 2014-08-10T13:12:37.340 回答