谁能帮我把这个代码转换成PHP的

下边的代码是ASP+XMLHTTP
如何把他转换成PHP的

[复制到剪切板]
CODE:
<%

action Request.QueryString("action")
qq Request.Form("qq")
%>
<
html>

<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<
title>QQ空间音乐查询</title>
<
style>
<!--
body,td         font-family宋体font-size12px }
input height20px }

a:link    {color#000080;text-decoration: none }
a:visited {color#000080;text-decoration: none}
a:hover   {color#000080;text-decoration: underline }
-->
</
style>
<
script type="text/javascript">
<!--
function 
go(htmlurl){
var 
newwin=window.open(htmlurl,"1fzl","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,statusbar=no,top=350,left=200,width=410,height=140");
newwin.focus();
return 
false;
}
//-->
<\/script>
</
head>

<
body topmargin="20" leftmargin="0">

<
div align="center">
<
table border="1" width="680" cellspacing="0" cellpadding="5" bordercolor="#CCCCCC" bgcolor="#EEEEEE" style="border-collapse: collapse">
<
form method="POST" action="?action=yes">
    <
tr>
        <
td width="50%">QQ空间音乐查询系统</td>
        <
td width="50%">&nbsp;输入QQ号: <input type="text" name="qq" size="20" value="<%=qq%>"> <input type="submit" value="查询"></td>
    </
tr>
</
form>
</
table>
<%
if 
action "yes" then

if qq="" then 
Response
.Write "<script>window.alert('QQ号不能为空!');history.back(-1);<\/script>"
Response.End
end 
if
%>
<
table cellspacing="0" cellpadding="0" height="35">
    <
tr>
        <
td align="center">URL中间有 qqmusic.qq.com 为QQ官方歌曲,加了验证的,无法使用和试听!</td>
    </
tr>
</
table>
<
table border="1" width="680" cellspacing="0" cellpadding="5" bordercolor="#CCCCCC" style="border-collapse: collapse">
    <
tr align="center" bgcolor="#EEEEEE">
        <
td width="30">ID</td>
        <
td>歌曲名</td>
        <
td>地址</td>
        <
td width="30">试听</td>
    </
tr>
<%
Function 
Get_Str(GetUrl)
 
Dim oSend
 Set oSend 
Server.CreateObject("Micros"&"oft.XM"&"LHTTP")
 
With oSend
 Get_Str 
oSend.open ("GET",GetUrl,False)
 
oSend.send()
 
Get_Str oSend.ResponseBody
 End With
 Set oSend 
Nothing
End 
Function

Function 
BytesToBstr(body)
 
Dim objstream
 set objstream 
Server.CreateObject("ado"&"db.st"&"ream")
 
objstream.Type 1
 objstream
.Mode =3
 objstream
.Open
 objstream
.Write body
 objstream
.Position 0
 objstream
.Type 2
 objstream
.Charset "GB2312"
 
BytesToBstr objstream.ReadText 
 objstream
.Close
 set objstream 
nothing
End 
Function

Function 
Ahref(strHTML,ZZBDS)
 
Dim objRegExpstrOutput
 Set objRegExp 
= New Regexp
 objRegExp
.IgnoreCase True
 objRegExp
.Global = True
 objRegExp
.Pattern ZZBDS
 Set Matchs 
objRegExp.Execute(strHTML)
 For 
Each Match in Matchs
 Ahref 
Ahref Match.Value &"<br>"
 
Next
 Set objRegExp 
Nothing
 Set Matches 
Nothing
End 
Function

SourceCode BytesToBstr(Get_Str("http://qzone-music.qq.com/fcg-bin/fcgi_agent_zhenghe.fcg?UIN="&qq&"&TYPE=16&PAGE_START=1&PAGE_END=10000&SELECT_FLAG=1"))

Name Ahref(SourceCode,"<xsong_name>.+?</xsong_name>")
Name Replace(Name,"<xsong_name><![CDATA[","")
Name Replace(Name," ]]></xsong_name>","")

Url Ahref(SourceCode,"<xsong_url>.+?</xsong_url>")
Url Replace(Url,"<xsong_url><![CDATA[","")
Url Replace(Url," ]]></xsong_url>","")

NameID Split(Name,"<br>")
UrlID Split(Url,"<br>")

For 
i=0 To ubound(NameID)-1
%>
    <
tr>
        <
td align="center"><%=i%></td>
        <
td><%=NameID(i)%></td>
        <
td><a href="<%=UrlID(i)%>" target="_blank"><%=UrlID(i)%></a></td>
        <
td align="center"><a href="play.asp?url=<%=UrlID(i)%>" onClick="return go(this.href);">试听</a></td>
    </
tr>
<%
Next
%>
</
table>
<%
end if
%> ;