我有一个网址http://api.spreaker.com/download/episode/3360726.mp3?preroll=0&commercials=0我想要做的就是在.mp3之前获取数字,这样我就可以将它添加到wordpress短代码中。网址来自RSS Feed。你可以看到这里的示例http://thecasadefe.com/category/blog/spreaker/现在它工作原因我手动输入短代码中的id但是从rss feed我得到url但是我无法通过php获取url的id以回显短代码。
这是我的代码:
<?php $enclosure = get_post_meta($post->ID , 'enclosure', $single = true);
$media=explode(chr(10),$enclosure); ?>
<?php if (!is_null($media)) : ?>
<?php $url='<a href="'.$media[0].'" rel="nofollow">'.$media[0].'</a>';
echo($url); ?>
<?php endif; ?>
<?php $mp3title=the_title(); ?>
<?php $url=''.$mp3title.'';echo($url); ?>
<?php echo do_shortcode("[spreaker type=standard width=100% autoplay=false episode_id=3161467]"); ?>
非常感谢任何帮助。
答案 0 :(得分:0)
通过几个PHP函数parse_url
和pathinfo
解决了这个问题:
$url = 'http://api.spreaker.com/download/episode/3360726.mp3?preroll=0&commercials=0';
$parse = parse_url( $url );
/*
$parse = array (size=4)
'scheme' => string 'http' (length=4)
'host' => string 'api.spreaker.com' (length=16)
'path' => string '/download/episode/3360726.mp3' (length=29)
'query' => string 'preroll=0&commercials=0' (length=23)
*/
$info = pathinfo( $parse['path'] );
/*
$info = array (size=4)
'dirname' => string '/download/episode' (length=17)
'basename' => string '3360726.mp3' (length=11)
'extension' => string 'mp3' (length=3)
'filename' => string '3360726' (length=7)
*/
$final_id = $info['filename'];
答案 1 :(得分:0)
可能很顽皮并使用正则表达式
preg_match('~(\d+)(?=\.mp3)~',$url,$matches)
然后$ matches [0]将包含3360726