使用preg_match或其他方法从元安全返回视频的id



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

但我对元安全视频有问题。要从示例中获取详细信息,请使用此视频url

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

我需要去元保险http://www.metacafe.com/api/item/cb-V9EJSvnKvTcH/并从该视频id解析xml。

我认为这会很容易,但问题是元安全只使用xml数据的视频id,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数据并解析持续时间、拇指、标签等信息…

试试这个。也许这能帮到你。

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

示例PHP代码,

<?php
$subject = "theLINKhere";
$pattern = "#(?<=watch/).*?(?=/)#"; // edit: Added modifiers
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

或者您也可以使用类似的东西:

$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];

相关内容

  • 没有找到相关文章

最新更新