zoukankan      html  css  js  c++  java
  • PHP中url相关函数

    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字符串中分割符号;
    如:
    <?php
    $data  = array( 'foo' => 'bar' ,
        'baz' => 'boom' ,
        'cow' => 'milk' ,
        'php' => 'hypertext processor' );
    
    echo  http_build_query ( $data ) .  "<br/>" ;
    echo  http_build_query ( $data ,  '' ,  '&' );
    
    ?>

    输出:

    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已指定,则返回此部分字符串。

    如:

    <?php
    $url = 'http://username:password@hostname:9090/path?arg=value#anchor';
    
    var_dump(parse_url($url));
    var_dump(parse_url($url, PHP_URL_SCHEME));
    var_dump(parse_url($url, PHP_URL_USER));
    var_dump(parse_url($url, PHP_URL_PASS));
    var_dump(parse_url($url, PHP_URL_HOST));
    var_dump(parse_url($url, PHP_URL_PORT));
    var_dump(parse_url($url, PHP_URL_PATH));
    var_dump(parse_url($url, PHP_URL_QUERY));
    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,

  • 相关阅读:
    IntellJ IDEA快捷键
    【Java基础】Java 增强型的for循环 for each
    Markdown简易入门
    kafka性能调优
    百度地图 libBaiduMapSDK_base_v4_2_1.so" is 32-bit instead of 64-bit错误
    centos7防火墙firewalld拒绝某ip或者某ip段访问服务器任何服务
    华为策略路由配置
    Windows Server 2012 R2 英文版安装中文语言包教程更改为中文版
    linux修改网卡名为eth0
    华为路由配置IPSec
  • 原文地址:https://www.cnblogs.com/usa007lhy/p/6583454.html
Copyright © 2011-2022 走看看