额。。。这几天晚上都有事所以都没怎么学习,真是罪过啊,罪过。。

这个是接着上一篇的结尾处的内容继续的:

对url处理
parse_str(string str):将字符串解析到变量中,例如
parse_str("a=2&b=4&c=5");
echo $a."-----";
echo $b;
输出结果为:2-----4
parse_str(string str,array arr):将解析到的字符串存储到arr数组中,例如
parse_str("a=2&b=3&c=4",$arr);
print_r($arr);
parse_url(string $url[, int $component = -1 ]): 对url字符串进行解析,并将结果返回数组中 php上的解释:http://www.php.net/manual/zh/function.parse-url.php
参数:
url:要解析的 URL。无效字符将使用 _ 来替换。

component:指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。

$parseURL = parse_url("http://www.baidu.com?a=23&b=2");
print_r($parseURL);
输出结果 :Array ( [scheme] => http [host] => www.baidu.com [query] => a=23&b=2 )
一般情况下,用的最多的应该是[query]这个了
还会有一些其他的参数。如下:
  • scheme - 如 http
  • host
  • port
  • user
  • pass
  • path
  • query - 在问号 ? 之后
  • fragment - 在散列符号 # 之后
如果指定了 component 参数, parse_url() 返回一个 string (或在指定为 PHP_URL_PORT 时返回一个 integer)而不是array。如果 URL 中指定的组成部分不存在,将会返回 NULL。  
又一个例子:
<?php

$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>

以上例程会输出:

Array
([scheme] => http[host] => hostname[user] => username[pass] => password[path] => /path[query] => arg=value[fragment] => anchor
)
/path

url编码处理函数:
rawurlencode(string $str);按照RFC编码规则进行编码,将空格编码成%20
rawurldecode(string $str):对已经编码的url进行解码
urlencode():对url进行编码,将空格编码成+
urldecode():对url进行解码
构造查询字符串等:
http_build_query(); http://cn2.php.net/manual/zh/function.http-build-query.php 生成 URL-encode 之后的请求字符串,例子:
<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

?>

以上例程会输出:

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

对url处理
parse_str(string str):将字符串解析到变量中,例如
parse_str("a=2&b=4&c=5");
echo $a."-----";
echo $b;
输出结果为:2-----4
parse_str(string str,array arr):将解析到的字符串存储到arr数组中,例如
parse_str("a=2&b=3&c=4",$arr);
print_r($arr);
parse_url(string $url[, int $component = -1 ]): 对url字符串进行解析,并将结果返回数组中 php上的解释:http://www.php.net/manual/zh/function.parse-url.php
参数:
url:要解析的 URL。无效字符将使用 _ 来替换。

component:指定 PHP_URL_SCHEME、 PHP_URL_HOST、 PHP_URL_PORT、 PHP_URL_USER、 PHP_URL_PASS、 PHP_URL_PATH、 PHP_URL_QUERY 或 PHP_URL_FRAGMENT 的其中一个来获取 URL 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。

$parseURL = parse_url("http://www.baidu.com?a=23&b=2");
print_r($parseURL);
输出结果 :Array ( [scheme] => http [host] => www.baidu.com [query] => a=23&b=2 )
一般情况下,用的最多的应该是[query]这个了
还会有一些其他的参数。如下:
  • scheme - 如 http
  • host
  • port
  • user
  • pass
  • path
  • query - 在问号 ? 之后
  • fragment - 在散列符号 # 之后
如果指定了 component 参数, parse_url() 返回一个 string (或在指定为 PHP_URL_PORT 时返回一个 integer)而不是array。如果 URL 中指定的组成部分不存在,将会返回 NULL。  
又一个例子:
<?php

$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>

以上例程会输出:

Array
([scheme] => http[host] => hostname[user] => username[pass] => password[path] => /path[query] => arg=value[fragment] => anchor
)
/path

url编码处理函数:
rawurlencode(string $str);按照RFC编码规则进行编码,将空格编码成%20
rawurldecode(string $str):对已经编码的url进行解码
urlencode():对url进行编码,将空格编码成+
urldecode():对url进行解码
构造查询字符串等:
http_build_query(); http://cn2.php.net/manual/zh/function.http-build-query.php 生成 URL-encode 之后的请求字符串,例子:
<?php
$data = array('foo'=>'bar',
              'baz'=>'boom',
              'cow'=>'milk',
              'php'=>'hypertext processor');

echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&amp;');

?>

以上例程会输出:

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

转载于:https://www.cnblogs.com/xyhy/p/3813184.html

字符串的定义和处理(续)相关推荐

  1. 【Groovy】字符串 ( 字符串类型变量定义 | 字符类型变量定义 )

    文章目录 一.字符串类型变量 二.字符类型变量 三.完整代码示例 一.字符串类型变量 使用 def 关键字声明 Groovy 中的 变量 : 声明字符串 , 可以使用以下方式 : // 字符串 // ...

  2. 图说:为什么Java中的字符串被定义为不可变的

    转载自 图说:为什么Java中的字符串被定义为不可变的 字符串,想必大家最熟悉不过了,通常我们在代码中有几种方式可以创建字符串,比如:String s = "Hollis";这时, ...

  3. python定义字符串_Python定义字符串、循环

    定义字符串: "" ''定义的字符串里面有单引号就用双引号 否则反之 如果字符串中单引号双引号都有就用 三引号 '''let's go"小白" ''' 三引号也 ...

  4. 字符串的定义与赋值及初始化

    字符串的定义与赋值及初始化 C语言的运算符根本无法操作字符串.在C语言中把字符串当作数组来处理,因此,对字符串的限制方式和对数组的一样,特别是,它们都不能用C语言的运算符进行复制和比较操作. 怎么给这 ...

  5. 2022-11-30:小红拿到了一个仅由r、e、d组成的字符串 她定义一个字符e为“好e“ : 当且仅当这个e字符和r、d相邻 例如“reeder“只有一个“好e“,前两个e都不是“好e“,只有第三个

    2022-11-30:小红拿到了一个仅由r.e.d组成的字符串 她定义一个字符e为"好e" : 当且仅当这个e字符和r.d相邻 例如"reeder"只有一个&q ...

  6. 【字符串的定义】【判断类型】【查找和替换】【大小写转换】【文本对齐】【去除空白字符】【拆分和连接】【字符串切片重点】【倒序切片】【内置函数】【for 循环语法 break】

    文章目录 字符串的定义 字符串的常用操作 判断类型 - 9 查找和替换 - 7 大小写转换 - 5 文本对齐 - 3 去除空白字符 - 3 拆分和连接 - 5 字符串的切片 重点 索引的顺序和倒序 * ...

  7. 字符串的定义及其具体使用 超详细 简单易懂

    一字符串的定义 字符串就是一串字符,表示的是文本的数据类型 注意字符串也是有序序列哦 二字符串的定义方式 字符串可以用一对双引号或单引号来定义,但是我们一般采用双引号的方式来定义字符串. 注意:如果在 ...

  8. 字符串的定义和常用方法

    文章目录 前言 一.概念 二.关键性质 三.String == null和""的区别 四.常用方法 一.object to string 二.字符串拼接 三.判断字符串是否为&qu ...

  9. 数据结构串------字符串的定义和基本操作

    1.字符串的定义 字符与字符串还有字符数组不同 处理字符串的函数通常不知道字符串长度,通过字符串末尾的空字符判断字符串结束. 字符串(string),有多个或零个字符组成的有限序列. S = 'hel ...

  10. C语言-字符串的定义及使用

    字符串的定义及使用 前言 一.字符数组的定义 1 2 二.字符数组的初始化 1.先定义后初始化 2.定义时初始化 三.怎样引用字符数组中的元素 1.输出一个已知的字符串 2.输出一个菱形 3.连续字符 ...

最新文章

  1. SharePoint Online 创建和使用栏
  2. cpci检索为什么那么慢_索引原理与慢查询优化
  3. C++简易测试代码框架
  4. P3174 [HAOI2009]毛毛虫(树形dp)
  5. 递归算法 流程图_什么是算法?如何学习算法?算法入门的学习路径
  6. python3 django连接mysql 数据库
  7. mysql-bin.000001文件的来源及处理方法[转]
  8. 进程间同步的几种方法
  9. 实现 iOS UICollectionView的事件透传
  10. vbScript中WScript.Shell对象的 run 和 exec
  11. include查找文件路径
  12. win7时间同步出错的解决方法
  13. 训练样本裁剪,背景裁剪,yoloV5裁剪样本检测
  14. 计算机界面无法全部显示,电脑屏幕不能完整显示软件界面怎么处理
  15. 机器学习 识别图片人物动作_一键学习人物识别说明
  16. forkJoin源码解读
  17. K8s JavaClient watch Pod检测状态变更、和Read timed out异常
  18. 前端获取视频帧率/帧数
  19. 领英精灵安全吗?附LinkedIn领英开发客户的关键点
  20. 崩坏3服务器维护什么时候维护好,崩坏3 11月1日更新了什么_维护到什么时候结束...

热门文章

  1. 安装 timescaledb 使用navcat连接 创建 hypertable
  2. n918st能刷Android5吗?,获取中兴N918st (V5S 双4G)ROOT权限教程,新手必看
  3. 图腾柱工作原理(转载)
  4. 【博应用官网】手机中的飞行模式如何开启?有什么作用呢?
  5. VUE组件:组件的数据传递(props)
  6. 22.合理的限制用户名
  7. 了解StarRocks
  8. 情人节和女朋友在一起700天非常感谢她的陪伴写一小段文章表达
  9. 《巴菲特和索罗斯的投资习惯》
  10. 彻底关闭 输入法 讨厌的全角