关于URL的处理,以及json相关处理的函数整理

原创2018-11-27 20:11:3897
摘要://其他常用的字符串函数//urlencode($url) 对url地址字符串进行编码//urldecode($url)上函数的反函数//http_build_query($arr) 生存url动态查询字符串//parse_url  解析地址//json_encode($var) 将字符串转成json格式//json_decode($str) 将json格式的字符串解析还原为变量<

       //其他常用的字符串函数
//urlencode($url) 对url地址字符串进行编码
//urldecode($url)上函数的反函数

//http_build_query($arr) 生存url动态查询字符串
//parse_url  解析地址

//json_encode($var) 将字符串转成json格式
//json_decode($str) 将json格式的字符串解析还原为变量

<?php

//---------------------------1.urlencode($url) /urldecode($url)对url地址字符串进行编码

//就是在特殊字符前加%,防止服务器解释出现歧义
$url = 'https://www.baidu.com/';

echo $url,'<br />';
$url = urlencode($url);
echo $url,'<br />';
$url = urldecode($url);
echo $url,'<br />';

//---------------------------2.http_build_query($arr) 生存url动态查询字符串
//url?name=cavalier&age=22
$arr = ['name'=>'cavalier','age'=>22];
echo http_build_query($arr),'<br />';  //=>name=cavalier&age=22

//parse_url  解析地址
$url01 = 'https://www.baidu.com/?name=cavalier&age=22';
$url = parse_url($url01);
var_dump($url);
// { ["scheme"]=> string(5) "https" ["host"]=> string(13) "www.baidu.com" ["path"]=> string(1) "/" ["query"]=> string(20) "name=cavalier&age=22" }

echo '<hr>';

//---------------------------json_encode($var) 将字符串转成json格式
//两个约定:1.必须是utf-8   2.不能处理资源类型
//json_encode($var) 将字符串转成json格式
//json_decode($str) 将json格式的字符串解析还原为变量

$girl = '波波姐';
echo json_encode($girl),'<br />';
//数组:[胸围,腰围,臀围]
$arr = ['bust'=>88,'waist'=>85,'hips'=>90];
echo  json_encode($arr);
//对象
$obj = new stdClass();
$obj->name = '吉泽明步';
$obj->age = '30';
$obj->bwh = ['bust'=>88,'waist'=>85,'hips'=>90];
echo  json_encode($obj);

//json_decode 返回都是对象
$json = '{"bust":88,"waist":85,"hips":90}';
$res = json_decode($json);
echo $res->bust;
//后面再传true会变成数组
$res2 = json_decode($json,true);
echo '<pre>' ,var_export($res2);

批改老师:天蓬老师批改时间:2018-11-28 08:58:41
老师总结:对url地址,进行 编码处理, 不仅有用,而且必要 ,因为很多攻击都是从url请求开始的

发布手记

热门词条