php中解析带中文字符的url怎么做?
程序员文章站
2022-04-18 10:37:02
...
URL(Uniform Resoure Locator:统一资源定位器)是WWW页的地址,它从左到右由下述部分组成:
·Internet资源类型(scheme):指出WWW客户程序用来操作的工具。如“http://”表示WWW服务器,“ftp://”表示FTP服务器,“gopher://”表示Gopher服务器,而“new:”表示Newgroup新闻组。
·服务器地址(host):指出WWW页所在的服务器域名。
·端口(port):有时(并非总是这样),对某些资源的访问来说,需给出相应的服务器提供端口号。
·路径(path):指明服务器上某资源的位置(其格式与DOS系统中的格式一样,通常有目录/子目录/文件名这样结构组成)。与端口一样,路径并非总是需要的。
URL地址格式排列为:scheme://host:port/path,例如http://www.sohu.com/domain/HXWZ就是一个典型的URL地址。
·Internet资源类型(scheme):指出WWW客户程序用来操作的工具。如“http://”表示WWW服务器,“ftp://”表示FTP服务器,“gopher://”表示Gopher服务器,而“new:”表示Newgroup新闻组。
·服务器地址(host):指出WWW页所在的服务器域名。
·端口(port):有时(并非总是这样),对某些资源的访问来说,需给出相应的服务器提供端口号。
·路径(path):指明服务器上某资源的位置(其格式与DOS系统中的格式一样,通常有目录/子目录/文件名这样结构组成)。与端口一样,路径并非总是需要的。
URL地址格式排列为:scheme://host:port/path,例如http://www.sohu.com/domain/HXWZ就是一个典型的URL地址。
这篇文章主要介绍了php中解析带中文字符的url函数分享,本文直接给出实现代码,重点是对rawurlencode函数的使用上,需要的朋友可以参考下
很多时候,在书写网页应用程序时候,会遇到中文和其他字符冲突的问题,例如有的url链接中包含中文字符,那么在使用wget/curl/file_get_contents等等获取信息时候会直接撞上一个大大的“404”,会很无语。
这里写了一个小函数来解决这个问题,只是限于在path中进行解析而已,涉及到的相关函数使用大家可以查看手册就行。
代码如下:
function urlConvert($url){ $pathArr = array(); $modules = parse_url($url); $path = $modules['path']; $pathSplit = explode(‘/', $path); foreach ($pathSplit as $row){ $pathArr[] = rawurlencode($row); } $urlNew = $modules['scheme']."://".$modules['host'].implode(‘/', $pathArr); return $urlNew; }
以上就是php中解析带中文字符的url怎么做?的详细内容,更多请关注其它相关文章!