gpt4 book ai didi

php - PHP YouTube API视频标题解析

转载 作者:行者123 更新时间:2023-12-03 05:34:01 26 4
gpt4 key购买 nike

我正在使用一些正则表达式来解析Wiki样式的文本。

<?php
function wikiParser($data){
$data = preg_replace('/\[\[Youtube:([a-zA-Z0-9_]+)\]\]/', getYoutubeTitle("$1"), $data);
return $data;
}
?>

此函数搜索类似[[Youtube: b32hRITAAew ]]的字符串,并调用另一个函数getYoutubeTitle( b32hRITAAew )。
<?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



它输出:
<?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)HQ 。但是由于未知的原因,它向我显示了一些随机的 摄影技巧-适用于任何相机的简易图像稳定器。我已经尽力解决了这个问题,但仍然无法解决问题。 getYoutubeTitle("$1")或其他任何问题吗?

最佳答案

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

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';
...
}

关于php - PHP YouTube API视频标题解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5995625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com