首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP视频标题解析YouTube

PHP视频标题解析YouTube
EN

Stack Overflow用户
提问于 2011-05-13 17:30:15
回答 1查看 1.3K关注 0票数 1

我正在使用一些regexes来解析wiki样式的文本。

代码语言:javascript
运行
复制
<?php
function wikiParser($data){
 $data = preg_replace('/\[\[Youtube:([a-zA-Z0-9_]+)\]\]/', getYoutubeTitle("$1"), $data);
 return $data;
}
?>

该函数搜索像[Youtube:b32hRITAAew]这样的字符串,并调用另一个函数getYoutubeTitle(b32hRITAAew).

代码语言:javascript
运行
复制
<?php
function getYoutubeTitle($hash){
 $url = 'http://gdata.youtube.com/feeds/api/videos?v=2&q='.$hash.'&max-results=1&fields=entry(title)&prettyprint=true';
 $fp = fopen($url, 'r');
 $page = '';
 while(!feof($fp)){
  $page .= fgets($fp, 4096);
 }
 $titre = eregi("<title>(.*)</title>", $page, $regs);
 return $regs[1]; 
}
?>

第二个函数解析响应数据。对于b32hRITAAew代码,将访问以下url

http://gdata.youtube.com/feeds/api/videos?v=2&q=b32hRITAAew&max-results=1&fields=entry(title)&prettyprint=true

它的产出如下:

代码语言:javascript
运行
复制
<?xml version='1.0' encoding='UTF-8'?>
<feed xmlns='http://www.w3.org/2005/Atom'>
    <entry>
        <title>The Lord of the Rings Symphony (1) HQ</title>
    </entry>
</feed>

标题应该是,指环王交响曲(1)总部。但由于未知的原因,它给我展示了一些随机的摄影技巧-任何相机的简单图像稳定器。我努力解决了这个问题,但还是不明白这是怎么回事。getYoutubeTitle("$1")或其他方面有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-13 17:48:27

您可以像这样使用preg_replace_callback函数:

代码语言:javascript
运行
复制
function wikiParser($data){
 $data = preg_replace_callback('/\[\[Youtube:([a-zA-Z0-9_]+)\]\]/', "getYoutubeTitle", $data);
 return $data;
}

function getYoutubeTitle($array){
 // $array looks like this: Array ( [0] => [[Youtube:b32hRITAAew]] [1] => b32hRITAAew )
 $hash = array_pop($array);
 $url = 'http://gdata.youtube.com/feeds/api/videos?v=2&q='.$hash.'&max-results=1&fields=entry(title)&prettyprint=true';
 ...
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5995625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档