首页 >后端开发 >php教程 >php中解析带中文字符的url怎么做?

php中解析带中文字符的url怎么做?

怪我咯
怪我咯原创
2018-05-28 17:40:002798浏览

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地址。

这篇文章主要介绍了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怎么做?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn