PHP URL的处理函数,php中url处理函数总结

在php中url处理函数有很多,如有:http_build_query,compact,urldecode、urlencode,parse_url,rawurldecode等等函数。

http_build_query

(PHP 5) http_build_query — 生成 URL-encode 之后的请求字符串,实例代码如下:

$data=array('foo'=>'bar',

'baz'=>'boom',

'cow'=>'milk',

'php'=>'hypertext processor');echohttp_build_query($data);// foo=bar&baz=boom&cow=milk&php=hypertext+processor

?>

compact

array compact ( mixed $varname [, mixed $... ] )

(PHP 4,PHP 5) compact — 建立一个数组,包括变量名和它们的值,实例代码如下:

$city="San Francisco";

$state="CA";

$event="SIGGRAPH";

$result= compact("city","state","event");

// array('city'=>'"San Francisco"','state'=>'CA','event' => "SIGGRAPH")

?>

-------------

$qs=compact('province','city','name');

foreach($qsas$key=>$value){

if(!$value){

unset($qs[$key]);

}

}

$url='something/search/?'.http_build_query($qs) ;

urldecode、urlencode

下面来看介绍与实例。

parse_url($str url);

把url转换成数组,实例代码如下:

*/

print_r(parse_url("www.vcphp.com"));//解析url并输出返回数组

/*

url 专用格式字符串还原成普通字符串。

语法: string rawurldecode(string str);

返回值: 字符串

函数种类: 编码处理

内容说明

本函数将字符串解码,从 url 的字符串专用格式解成普通字符串,详细的编码解码信息及规格文件可以参考 rfc 1738,实例代码如下:

*/

echorawurldecode('foo%20bar%40baz');//输出foo bar@baz

/*

string rawurlencode ( string str )

返回字符串,此字符串中除了 -_,之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,这是在 rfc 1738 中描述的编码,是为了保护原义字符以免其被解释为特殊的 url 定界符,同时保护 url 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱,例如,如果你想在 ftp 的 url 中包含密码,实例代码如下:

*/

$str="http://www.vcphp.com";       //定义字符串

$result=rawurlencode($str);//对指定字符串编码

echo$result;

/*

urldecode()

url解码

*///输出结果

$str="http%3a%2f%2fwww.vcphp.com";

$result=urldecode($str);

echo$result;

/*

urlencode()

url编码

*/

$str="http://www.vcphp.net";       //定义字符串

$result=urlencode($str);//对指定字符串编码

echo$result;//输出结果

(责任编辑:admin)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记一次 .NET 某数控机床控制程序 卡死分析

一:背景 1. 讲故事前段时间有位朋友微信上找到我,说它的程序出现了卡死,让我帮忙看下是怎么回事? 说来也奇怪,那段时间求助卡死类的dump特别多,被迫训练了一下对这类问题的洞察力 😄&#x1f60…

TODO-MVP-Loaders源码体验

大家好,我是苍王。以下是我这个系列的相关文章,有兴趣可以参考一下,可以给个喜欢或者关注我的文章。[Android]如何做一个崩溃率少于千分之三噶应用app--章节列表相信有关注我的人,都会看过我上一编介绍的Todo-mvp源码体验&#xf…

.NET Framework 4.8预览

虽然人们的大多数关注点都在.NET Core上,但经典的.NET Framework仍然在开发中。.NET 4.8的“早期访问”预览版表明了微软最关心的领域包括高DIP、可访问性和并发性。\\.NET 4.8预计将于2019年发布。目前的预期是,它将在稍后的Windows 10 build 1607上运行…

java项目商品的排名,分析了5万个开源项目,得出的排名前16的Java工具类

原文:https://www.jianshu.com/p/9e937d178203在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。一. org.ap…

IDEA远程调试

参考链接:http://www.cnblogs.com/wy2325/p/5600232.html 调试端口是catlina.sh中的 JAVA_OPTS-agentlib:jdwptransportdt_socket,servery,suspendn,address5023 -Xms1024m -Xmx3072m -XX:MaxNewSize128m #!/bin/sh 配置的端口,是address ******&#…

ASP.NETCoreWeb开发之OptionsPattern

这节我们来讲一下,在ASP.NET Core Web开发中,读取配置文件信息的新方式:Options。前言 /Options在ASP.NET Web框架中,我们读取配置文件中的数据,在不使用第三方框架的情况下,可能需要通过ConfigurationMana…

SpringMVC执行流程图

2019独角兽企业重金招聘Python工程师标准>>> 转载于:https://my.oschina.net/u/2607324/blog/827946

CC框架实践(1):实现登录成功再进入目标界面功能

在掘金上看到这篇文章:android 关于先登录成功后再进入目标界面的思考,作者对实现登录成功后再跳转到目标界面功能作了比较详细的分析,对比了一些已有的实现方案并指出存在的问题。最终,作者实现了一个可同时添加多个条件判断拦截的方案&…

yum search php7,yum install php7 in centos6

如果有安装的PHP包,先删除他们yum list installed | grep phpyum remove php.x86_64 php-cli.x86_64 php-common.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstring.x86_64 php-mcrypt.x86_64 php-mysql.x86_64 php-pdo.x86_64yum 安装我们需要的软件1.安装epel软…

CentOS 7系统安装配置图解教程

操作系统:CentOS 7.3 备注: CentOS 7.x系列只有64位系统,没有32位。生产服务器建议安装CentOS-7-x86_64-Minimal-1611.iso版本 一、安装CentOS 7.3 成功引导系统后,会出现下面的界面 界面说明: Install CentOS 7 #安装…

这份《.NET/C#面试手册》超神啦!

这几天给.neter们整理了一份《.NET/C#面试手册》,目前大约4万字左右,初衷也很简单,就是希望在面试的时候能够帮助到大家,减轻大家的负担和节省时间。对于没有跳槽打算的也可以复习一下相关知识点,就当是查缺补漏&#…

Dinic算法----最大流常用算法之一

——没有什么是一个BFS或一个DFS解决不了的;如果有,那就两个一起。 最大流的$EK$算法虽然简单,但时间复杂度是$O(nm^2)$,在竞赛中不太常用。 竞赛中常用的$Dinic$算法和$SAP$,其实也不太难。 那么,$Dinic$算…

springcloud~Eureka实例搭建

服务端 build.gradle配置 dependencies {compile(org.springframework.cloud:spring-cloud-starter-netflix-eureka-server)testCompile(org.springframework.boot:spring-boot-starter-test) }dependencyManagement {imports {mavenBom "org.springframework.cloud:sprin…

php5.3教程,Php 5.3发布

PHP 5.3.4 特性: 增加对zip 流的统计支持 新增 follow_location (默认启用)支持 增加一个 3rd parameter to get_html_translation_table Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect zend multibyte at runtime. Multiple improvements t…

javascript学习笔记 null和undefined

null是javascript语言的关键字,它表示一个特殊值,常用来描述“空值”。对null执行typeof预算,结果返回字符串“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”。但实际上&#xff0…

C# 为什么高手都是用IsNullOrWhiteSpace对字符串判空?

判断字符串为空有好几种方法:方法一: 代码如下:static void Main(string[] args){string str "";if (str ""){Console.WriteLine("a is empty"); ;}Console.ReadKey();}运行结果:a is empty这样…

使用bcftools提取指定样本的vcf文件(extract specified samples in vcf format)

1、下载安装bcftools。 2、准备样本ID文件,这里命名为samplelistname.txt,一个样本一行,如下所示: sample1 sample2 sample3 3、输入命令: bcftools view -S samplelistname.txt /1000genomes/ALL.chr16.phase3_shapei…

iostat相关参数说明——await:平均每次设备I/O操作的等待时间 (毫秒),如果%util接近 100%,说明产生的I/O请求太多...

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某…

php里面sql是什么意思,MySQL和SQL是什么?MySQL和SQL之间的区别有哪些

MySQL和SQL之间的区别有哪些?很多PHP的初学者,对MySQL,MyAdmin和SQL有什么区别并不是很清楚?下面 第一PHP社区 就带领大家来学习一下MySQL和SQL之间的区别。【推荐阅读:MySQL什么意思】一:什么是SQLSQL是一…

Blazor University (51)依赖注入 —— 拥有多个依赖项:错误的方式

原文链接:https://blazor-university.com/dependency-injection/component-scoped-dependencies/owning-multiple-dependencies-the-wrong-way/拥有多个依赖项:错误的方式OwningComponentBase[1] 类是一个合适的解决方案,当我们需要我们的组件…