PHP YouTube API视频标题解析
我正在使用一些正则表达式来解析wiki样式的文本PHP YouTube API视频标题解析,php,regex,api,youtube,youtube-api,Php,Regex,Api,Youtube,Youtube Api,我正在使用一些正则表达式来解析wiki样式的文本 <?php function wikiParser($data){ $data = preg_replace('/\[\[Youtube:([a-zA-Z0-9_]+)\]\]/', getYoutubeTitle("$1"), $data); return $data; } ?> 此函数搜索像[[Youtube:b32hRITAAew]这样的字符串,并调用另一个函数getYoutubeTitle(b32hRITAAew)
<?php
function wikiParser($data){
$data = preg_replace('/\[\[Youtube:([a-zA-Z0-9_]+)\]\]/', getYoutubeTitle("$1"), $data);
return $data;
}
?>
此函数搜索像[[Youtube:b32hRITAAew]这样的字符串,并调用另一个函数getYoutubeTitle(b32hRITAAew)
第二个函数解析响应数据。对于b32hRITAAew代码,访问以下url
它输出:
<?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)总部
标题应该是《指环王交响曲》(1)HQ。但不知什么原因,它向我展示了一些随机的摄影技巧-任何相机的简易图像稳定器。我一直在努力解决这个问题,但还是不知道怎么解决。
getYoutubeTitle($1”)
或其他任何东西有问题吗?您可以像这样使用preg\u replace\u回调函数:
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';
...
}
您可以像这样使用preg\u replace\u回调函数:
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';
...
}