效果图
使用get方法访问相关页面 返回json数组
<?php
/**
* music search action
* @name music_name
* @page
*/
$name=get_input('name','aa');
$name = urlencode($name);
$page=max(1,intval(get_input('page',1)));
$url="http:/"."/www.xiami.com/app/nineteen/search/key/$name/page/$page/size/1?random=1123132112132";
$file_contents = file_get_contents($url);
echo $file_contents;
exit;
js处理
/** *根据虾米 搜索音乐 */ elgg.thewire.musicSearch = music_search; function music_search(){ var music_name=$('#music_name'); var pages=$('#music_page').val(); if(pages == null){ pages = 1; } if(music_name.val()==''){ alert('请输入需要搜索的歌名'); music_name.focus(); return false; } $('#music_list').html('<span style="color:red"><img src="<?php echo elgg_get_site_url()?>images/loading.gif">正在检索,请稍等...</span>'); $.ajax({ type:'post', url:elgg.security.addToken('<?php echo elgg_get_site_url()?>action/music/search'), data:{name:music_name.val(),page:pages}, success:function(d){ //alert(d); // return false; d= eval('('+d+')'); var json=eval(d.results); if(json.length>0){ var totle = d.total; var num = Math.ceil(totle/8); var phtml = page_html(pages,num); //var phtml=''; $('#music_list').html('<ul class="tagB" style="display:block"><div id="add_ajax_favorite_tags" class="music_end"></div><div>'+ phtml +'</div></ul>'); for(var i=0; i<json.length; i++) { json[i].song_name = decodeURIComponent(json[i].song_name).replace(/\+|'|"/g," "); json[i].artist_name = decodeURIComponent(json[i].artist_name).replace(/\+|'|"/g," "); var html='<span οnclick="check_music('+json[i].song_id+',\''+decodeURI(json[i].artist_name)+'\',\''+decodeURI(json[i].song_name)+'\')" style="width:100%;cursor:pointer;" οnmοuseοver="$(this).css(\'color\',\'red\');" οnmοuseοut="$(this).css(\'color\',\'\');">'+decodeURI(json[i].song_name)+' --- '+decodeURI(json[i].artist_name)+'</span>'; $('.music_end').append(html+'<br>'); } }else{ $('#music_list').html("未检索到符合条件的歌曲"); } } }); }; /** * 制作虾米音乐的简单HTML分页代码 page:当前页 num:总页数 */ function page_html(page,num){ page = parseInt(page); num = parseInt(num); var html = ''; if(num < 2){ return ''; } if(page > 1){ var fpage = page-1; html += '<span οnclick="changepage('+ fpage +');" style="cursor:pointer;">上一页</span>'; } if(page < num){ var npage = page+1; html += '<span οnclick="changepage('+ npage +');" style="cursor:pointer;">下一页</span>'; } return html; } function changepage(page){ $('#music_page').val(page); music_search(); } //选择音乐 function check_music(music_id,name,music_name){ var content = music_name + '--' + name+' [music:'+music_id+']'; //alert(content); var thewire=$('#thewire-textarea').val(); if(thewire!=''){ $('#thewire-textarea').val(thewire+content); }else{ $('#thewire-textarea').val(content); } $("#music_show").hide(); }
入库之后 查询匹配显示播放器
/**
* 解析 音乐
* @param type $text
* @return type
*/
function parsemusic($text){
$text=trim($text);
$music_pattern='/(\[music:)(\d+)(\])/';
$musci_html='<div class="feedUserImg"><embed width="257" height="33"wmode="transparent" type="application/x-shockwave-flash"src="http://www.xiami.com/widget/0_${2}/singlePlayer.swf"></embed></div>';
$text= preg_replace($music_pattern,$musci_html,$text);
return $text;
}