有时写WEB程序时本文主要介绍WordPress模板开发,需要调用优酷视频的图片缩略图,本文向大家分享一下如何自动调用优酷视频图片缩略图。
完整的调用函数,请把这段函数添加到functions.php文件中:
function get_youku_thumb($url) { $content = file_get_contents($url); preg_match( '/id="s_msn2".*?screenshot=(.*?)".?target=/', $content, $matchs ); return $matchs[1]; } echo get_youku_thumb('http://v.youku.com/v_show/id_XMjkwMjg5MDQw.html');
运行上述代码,获取的图片路径是
http://g2.ykimg.com/01270F1F464F50877DA3960123193C0A16F2D8-447A-D539-840F-E8AC55D15507
这种方法是在网上发现的,原出处是用PHP获取优酷、土豆视频缩略图,不过正如文章作者所说,一旦优酷改变网页结构,代码也得跟着变。
在这里我们面临着一个问题,正则表达式是一个很好资源的玩意,并且还要去下载和分析外链页面,一个页面十几张图片,每张图片都需要不同的网页内容去匹配,其速度可想而知了,因此在这里我们可以利用wordpress的自定义字段获取已经匹配好的图像地址,下次打开就直接获取本地的自定义字段内容,而不需要去重复匹配了!
<?php
$pid= get_the_ID();//获取文章id
if(get_post_meta($pid,'saved_url',true) ==''){//判断saved_url(保存图像地址的字段)这个字段是否为空
$v_url = get_post_meta($pid,'videourl_value',true);//获取优酷视频地址的自定义字段videourl_value
if($v_url <>''){
$v_image_url = get_youku_thumb($v_url);
}
add_post_meta(get_the_ID(), 'saved_url', $v_image_url, true);
}
$video_url = get_post_meta($pid,'saved_url',true);
?>
<img src="<?php echo $video_url; ?>" alt="" width="240" />
评论