1

我正在尝试编写插件,只需从浏览器复制和粘贴 url,即可从各种视频网站捕获视频详细信息。

但我对 metacafe 视频有疑问。要从示例中获取详细信息,此视频 url

http://www.metacafe.com/watch/cb-V9EJSvnKvTcH/confronting_fear_in_virtual_reality/

我需要去 metacafe http://www.metacafe.com/api/item/cb-V9EJSvnKvTcH/并从这个视频 ID 解析 xml。

我认为这很容易,但问题是 metacafe 仅将视频 id 用于 xml 数据,并且 url 在 id 之后还包含视频名称。

只嵌入我使用的视频

$video_grab_url = 'http://www.metacafe.com/watch/cb-V9EJSvnKvTcH/confronting_fear_in_virtual_reality/';
$embed_vid_url = parse_url( $video_grab_url );
$metacafe = mb_substr( $embed_vid_url['path'], 7, -1 );

有了这个,我得到了带有嵌入名称的视频 ID。但正如我对其他细节所说,我需要从 url 解析 xml 数据并获取 xml 数据的 url,我只需要没有名称的视频 id。

我不是 php pro,所以我在使用 preg_match 时几乎没有迷失我如何使用 preg_match 来只获取这个“cb-V9EJSvnKvTcH”,这样我就可以提取 xml 数据并解析持续时间、拇指、标签等信息...

4

2 回答 2

1

试试这个。也许这可以帮助你。

(?<=watch/).*?(?=/)

示例 PHP 代码,

<?php
$subject = "theLINKhere";
$pattern = "#(?<=watch/).*?(?=/)#"; // edit: Added modifiers
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>
于 2012-09-30T15:22:40.370 回答
0

或者你也可以使用这样的东西:

$url = 'http://www.metacafe.com/watch/cb-V9EJSvnKvTcH/confronting_fear_in_virtual_reality/';
$path = parse_url($url, PHP_URL_PATH);
$pieces = explode('/', $path);

$video_id = $pieces[2];
于 2012-09-30T15:32:49.717 回答