<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >parse_url</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REL="HOME" TITLE="PHP 手册" HREF="index.html"><LINK REL="UP" TITLE="URL 函数" HREF="ref.url.html"><LINK REL="PREVIOUS" TITLE="http_build_query" HREF="function.http-build-query.html"><LINK REL="NEXT" TITLE="rawurldecode" HREF="function.rawurldecode.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=UTF-8"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP 手册</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="function.http-build-query.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.rawurldecode.html" ACCESSKEY="N" >下一页</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.parse-url" ></A >parse_url</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN235811" ></A ><P > (PHP 3, PHP 4, PHP 5)</P >parse_url -- 解析 URL,返回其组成部分</DIV ><DIV CLASS="refsect1" ><A NAME="AEN235814" ></A ><H2 >说明</H2 >array <B CLASS="methodname" >parse_url</B > ( string url )<BR ></BR ><P > 本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。 </P ><P > 本函数<SPAN CLASS="strong" ><B CLASS="emphasis" >不是</B ></SPAN >用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,<B CLASS="function" >parse_url()</B > 会尝试尽量正确地将其解析。 </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN235826" ></A ><H2 >参数</H2 ><P > <P ></P ><DIV CLASS="variablelist" ><DL ><DT ><CODE CLASS="parameter" >url</CODE ></DT ><DD ><P > 要解析的 URL </P ></DD ></DL ></DIV > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN235835" ></A ><H2 >返回值</H2 ><P > 对严重不合格的 URL,<B CLASS="function" >parse_url()</B > 可能会返回 <TT CLASS="constant" ><B >FALSE</B ></TT > 并发出 <TT CLASS="constant" ><B >E_WARNING</B ></TT >。否则会返回一个关联数组,其组成部分为(至少有一个): <P ></P ><UL ><LI ><P > <CODE CLASS="structfield" >scheme</CODE > - 如 http </P ></LI ><LI ><P > <CODE CLASS="structfield" >host</CODE > </P ></LI ><LI ><P > <CODE CLASS="structfield" >port</CODE > </P ></LI ><LI ><P > <CODE CLASS="structfield" >user</CODE > </P ></LI ><LI ><P > <CODE CLASS="structfield" >pass</CODE > </P ></LI ><LI ><P > <CODE CLASS="structfield" >path</CODE > </P ></LI ><LI ><P > <CODE CLASS="structfield" >query</CODE > - 在问号 <TT CLASS="literal" >?</TT > 之后 </P ></LI ><LI ><P > <CODE CLASS="structfield" >fragment</CODE > - 在散列符号 <TT CLASS="literal" >#</TT > 之后 </P ></LI ></UL > </P ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN235868" ></A ><H2 >范例</H2 ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" CLASS="EXAMPLE" ><TR ><TD ><DIV CLASS="example" ><A NAME="AEN235870" ></A ><P ><B >例 1. <B CLASS="function" >parse_url()</B > 例子</B ></P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><code><font color="#000000"> <font color="#0000BB"><?php<br />$url </font><font color="#007700">= </font><font color="#DD0000">'http://username:password@hostname/path?arg=value#anchor'</font><font color="#007700">;<br /><br /></font><font color="#0000BB">print_r</font><font color="#007700">(</font><font color="#0000BB">parse_url</font><font color="#007700">(</font><font color="#0000BB">$url</font><font color="#007700">));<br /></font><font color="#0000BB">?></font> </font> </code></TD ></TR ></TABLE ><P >上例将输出:</P ><TABLE BORDER="0" BGCOLOR="#E0E0E0" CELLPADDING="5" ><TR ><TD ><PRE CLASS="screen" >Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )</PRE ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN235876" ></A ><H2 >注释</H2 ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > 本函数不能用于相对 URL。 </P ></BLOCKQUOTE ></DIV ><DIV CLASS="note" ><BLOCKQUOTE CLASS="note" ><P ><B >注意: </B > <B CLASS="function" >parse_url()</B > 是专门用来解析 URL 而不是 URI 的。不过为遵从 PHP 向后兼容的需要有个例外,对 file:// 协议允许三个斜线(file:///...)。其它任何协议都不能这样。 </P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="refsect1" ><A NAME="AEN235883" ></A ><H2 >参见</H2 ><P > <P ></P ><TABLE BORDER="0" ><TBODY ><TR ><TD ><A HREF="function.pathinfo.html" ><B CLASS="function" >pathinfo()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.parse-str.html" ><B CLASS="function" >parse_str()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.dirname.html" ><B CLASS="function" >dirname()</B ></A ></TD ></TR ><TR ><TD ><A HREF="function.basename.html" ><B CLASS="function" >basename()</B ></A ></TD ></TR ></TBODY ></TABLE ><P ></P > </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="function.http-build-query.html" ACCESSKEY="P" >上一页</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >起始页</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.rawurldecode.html" ACCESSKEY="N" >下一页</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >http_build_query</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.url.html" ACCESSKEY="U" >上一级</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >rawurldecode</TD ></TR ></TABLE ></DIV ></BODY ></HTML >