1,string urlencode(string $str)/string urldecode(string $str)

urlencode将中文以及特殊字符转化为16进制,然后在每个字符前面加%;
urldecode与urlencode功能相反,将16进制字符转化为中文;
2,string http_build_query(mixed $query_data ,string $numeric_prefix ,string $arg_separator )
将数组生成一个urlencode()后的请求字符串,$query_data数组或包含属性的对象,对象中只有public属性可以加入,数组可以使一维可以是多维;$numeric_prefix如果基础数组中使用数字下标同时给出了该参数,此参数值将会作为基础数组中的数字下标元素的前缀;$arg_separator字符串中分割符号;
如:
  1. <?php
  2. $data = array( 'foo' => 'bar' ,
  3. 'baz' => 'boom' ,
  4. 'cow' => 'milk' ,
  5. 'php' => 'hypertext processor' );
  6.  
  7. echo http_build_query ( $data ) . "<br/>" ;
  8. echo http_build_query ( $data , '' , '&' );
  9.  
  10. ?>

输出:

foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&baz=boom&cow=milk&php=hypertext+processor

3,parse_url()函数,解析一个 URL,将URL中出现各种部分存入关联数组返回。

mixed parse_url(string $url,int $component),$url为待解析url字符串,$component指定返回url中某一部分。如果$component没有指定,则以数组形式全部返回;如果$component已指定,则返回此部分字符串。

如:

  1. <?php
  2. $url = 'http://username:password@hostname:9090/path?arg=value#anchor';
  3.  
  4. var_dump(parse_url($url));
  5. var_dump(parse_url($url, PHP_URL_SCHEME));
  6. var_dump(parse_url($url, PHP_URL_USER));
  7. var_dump(parse_url($url, PHP_URL_PASS));
  8. var_dump(parse_url($url, PHP_URL_HOST));
  9. var_dump(parse_url($url, PHP_URL_PORT));
  10. var_dump(parse_url($url, PHP_URL_PATH));
  11. var_dump(parse_url($url, PHP_URL_QUERY));
  12. var_dump(parse_url($url, PHP_URL_FRAGMENT));

输出:

array(8) { ["scheme"]=> string(4) "http" ["host"]=> string(8) "hostname" ["port"]=> int(9090) ["user"]=> string(8) "username" ["pass"]=> string(8) "password" ["path"]=> string(5) "/path" ["query"]=> string(9) "arg=value" ["fragment"]=> string(6) "anchor" } string(4) "http" string(8) "username" string(8) "password" string(8) "hostname" int(9090) string(5) "/path" string(9) "arg=value" string(6) "anchor"

4,

PHP中url相关函数的更多相关文章

  1. CodeIgniter学习笔记四:CI中的URL相关函数,路由,伪静态,去掉index.php

    一.URL相关函数 1.加载url模块 加载url有两种方式: a.自动加载:在 application/config/autoload.php 中开启 $autoload['helper'] = a ...

  2. mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变[bubuko.com]

    mvc,超链接除了直接写在a标签的href内还可以使用路由规则来生成,这样在改变了路由规则或者路由名称时不用再去代码中更改href的值,而且还容易遗漏.借助Url.RouteUrl或者Html.Rou ...

  3. web工程中URL地址的推荐写法

    三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb ...

  4. JS中URL编码参数(UrlEncode)

    JS中URL编码参数(UrlEncode) 网上有很多文字作品写涉及在JS中呈现类似UrlEncode功能时都是自定义参数来呈现,其实JS中本身就有那样的参数.参数parameter由于用类似URL的 ...

  5. web工程中URL地址的写法

    在开发中我们不可避免的要碰到许多需要写URL地址的情况,这常常让我们感到头疼.下面笔者推荐一种简单的做法.URL地址分为绝对路径和相对路径两种.相对路径又分为相对资源路径和相对根路径.显然绝对路径在开 ...

  6. Java中url传递中文参数取值乱码的解决方法

    java中URL参数中有中文值,传到服务端,在用request.getParameter()方法,得到的常常会是乱码,这将涉及到字符解码操作. 方法一: http://xxx.do?ptname=’我 ...

  7. Django中url匹配规则的补充

    Django中url匹配规则是在urls.py文件中配置的. 1.关于正则匹配优先级 在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条. 在url匹配列表中,如果第一条为正则模 ...

  8. Django中url使用命名空间的错误

    出的错误: 1. Reverse for 'llist' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) ...

  9. django中url路由配置及渲染方式

    今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...

随机推荐

  1. Python oracle乱码问题

    Python使用cx_oracle连接oracle查询汉字时出现乱码 解决方式: import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHIN ...

  2. 悲观锁,乐观锁,排他锁,行锁----MYSQL

    在说具体的锁结构时,先思考一个问题,那就是为什么要上锁?然后我要如何选择锁?锁具体如何实现? 在文章得末尾我给出了我的个人答案. 一.什么是悲观锁? 1.悲观锁就是在操作数据时,认为此操作会出现数据冲 ...

  3. Gitlab安装与备份恢复

    GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设为私有还要收费.GitLab是一个用于仓库管理系统的开源项目, ...

  4. Nmap扫描命令使用详解

    Nmap扫描基础扫描 当用户对Nmap工具了解后,即可使用该工具实施扫描.通过上一章的介绍,用户可知Nmap工具可以分别对主机.端口.版本.操作系统等实施扫描.但是,在实施这些扫描工作之前,需要先简单 ...

  5. 群晖上使用kvm(qemu)笔记[原创]

    1.今日偶然逛github里发现一个项目:https://github.com/bsdcpp/synoKVM 下载spk后手工安装,马上可以使用 2.新建XP实例后发现xp的安装盘不认识qemu的vi ...

  6. 为datagrid、treegrid增加右键表头菜单,用于显示或隐藏列,注意:冻结列不在此菜单中

    var createGridHeaderContextMenu = function(e, field) { e.preventDefault(); var grid = $(this);/* gri ...

  7. aio,nio ,io 心得

    1.nio 流的过程有几个,连接,可读,读 ,返回 :连接了不一定可读,等待浪费时间,这些时间可以去读其他的连接,selector是管理,管理全部测一下可不可读,只对可读的连接进行读取.同时,nio有 ...

  8. react mobx 装饰器语法配置

    1.弹出项目配置 npm run eject 此处注意,若弹出项目配置失败,请先执行以下两行代码(我的项目执行上一句都会报错,所以都会执行) 1.git add . 2.git commit -m & ...

  9. Secondary Indices

    [Secondary Indices] EOSIO has the ability to sort tables by up to 16 indices.  A table's struct cann ...

  10. echo不换行的实现

    1. echo的参数中, -e表示开启转义, /c表示不换行: echo -e "please input a value:/c" 2. -n不换行: echo -n " ...