我有一个url http://api.spreaker.com/download/episode/3360726.mp3?preroll=0&commercials=0,所有O想做的就是在url之前获取数字,这样我就可以把它添加到wordpress的快捷代码中。url来自rss源。你可以在这里看到示例http://thecasadefe.com/category/blog/spreaker/现在它工作,因为我手动输入的id在短码,但从rss feed,我得到的网址,但我不能得到的id从网址通过php回显到短码。
下面是我的代码:
<?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]"); ?>任何帮助都是非常感谢的。
发布于 2013-09-30 00:10:31
这可以通过parse_url和pathinfo这两个PHP函数来解决。
$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'];发布于 2013-09-30 13:03:40
可以是淘气的并使用正则表达式
preg_match('~(\d+)(?=\.mp3)~',$url,$matches)则$matches将包含3360726
https://stackoverflow.com/questions/19079823
复制相似问题