做链接转换的时候遇到的。虾米的链接解密有点烦,解法是我看别人的源码得到的。然后我把他改写成了PHP的版本。贴出来,有需要的就拿去用~
$mp3_id = '';//音乐ID
function unescape($str) {
$str = rawurldecode($str);
preg_match_all("/(?:%u.{4}).{4};\d+;.+/U",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
{
$ar[$k] = iconv("UCS-2","utf-8//IGNORE",pack("H4",substr($v,-4)));
}
elseif(substr($v,0,3) == "")
{
$ar[$k] = iconv("UCS-2","utf-8",pack("H4",substr($v,3,-1)));
}
elseif(substr($v,0,2) == "")
{
echo substr($v,2,-1)."";
$ar[$k] = iconv("UCS-2","utf-8",pack("n",substr($v,2,-1)));
}
}
return join("",$ar);
}
$x_url="http://www.xiami.com/song/playlist/id/".$mp3_id."/object_name/default/object_id/0";
$x_con=file_get_contents($x_url);
preg_match_all( "/
$str=$locations[1][0];
$num=substr($str, 0,1);
$inp=substr($str,1);
$iLe=strlen($inp)%$num;
$a=0;
$ret='';
$arr=array();
for ($i=0; $i
$arr [$i] = ($iLe>$i?1:0) + (strlen($inp)-$iLe)/$num;
}
for ($i=0; $i
{
$a=0;
for ($j=0; $j
{
$ret .= substr($inp, $a+$i,1);
$a += $arr[$j];
}
}
$ret_url=unescape($ret);
$url=str_replace('^', '0', $ret_url);
$url=str_replace('+', ' ', $url);
$url=preg_replace('/.mp(.*)/', '.mp3', $url);
echo $url;

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具