当前位置: 编程技术>php
本页文章导读:
▪php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
PHP 解析 URL函数: parse_url详解 parse_url — 解析 URL,返回其组成部分 说明 array parse_url ( string $url ) 本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。 本函数不是用.........
▪选择PHP作为网站开发语言的原因分享
以下的几点总结了选择PHP作为网站开发语言的特点和优势。 1.开源 PHP是一种开源语言(免费下载、免费使用、免费分享),不管是开发者还是用户都无需因为使用PHP而承担任何费用 2.可移.........
▪php 数组动态添加实现代码(最土团购系统的价格排序)
核心代码如下: 代码如下:<?php $now=time(); $oc = array( 'team_type' => 'normal', "begin_time < '{$now}'", "end_time > '{$now}'", ); $p="p2"; $pp1=""; $pp2=""; $now = time(); switch ($p) { case "p1": $pp1="team_price < 10"; $p.........
[1]php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
来源: 互联网 发布时间: 2013-11-30
PHP 解析 URL函数: parse_url详解
parse_url — 解析 URL,返回其组成部分
说明
array parse_url ( string $url )
本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。
参数
url
要解析的 URL
返回值
对严重不合格的 URL,parse_url() 可能会返回 FALSE 并发出 E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme – 如 http
host
port
user
pass
path
query – 在问号 ? 之后
fragment – 在散列符号 # 之后
范例
parse_url() 例子
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url(/blog_article/$url/index.html));
?>
以上例程会输出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
常常我们会传送一大串网址,然后要解析的话,只能不断地去切token来解析。但是在php中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
print_r(parse_url(/blog_article/$url/index.html));
?>
首先,先看一下这个程式的输出结果
Array (
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg1=value1&arg2=value2
[fragment] => anchor
)
其中,scheme是指他走的路线,而host则是站台网址,user则是使用者名称,pass则是密码,path则是路径,query则是参数,fragment则是锚点。
而在「$component」的部份,则是有以下的参数可供传递。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而这几个参数则分别代表了Array中的scheme、host、user、pass、path、query和fragment。
同样,举例来说,如果使用PHP_URL_PATH和PHP_URL_QUERY来说,以下为他的示范。
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor'; echo nl2br(parse_url(/blog_article/$url, PHP_URL_PATH/index.html)."\n");
echo nl2br(parse_url(/blog_article/$url, PHP_URL_QUERY/index.html)."\n");
?>
而输出结果将如下:
/path
arg1=value1&arg2=value2
parse_url — 解析 URL,返回其组成部分
说明
array parse_url ( string $url )
本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。
参数
url
要解析的 URL
返回值
对严重不合格的 URL,parse_url() 可能会返回 FALSE 并发出 E_WARNING。否则会返回一个关联数组,其组成部分为(至少有一个):
scheme – 如 http
host
port
user
pass
path
query – 在问号 ? 之后
fragment – 在散列符号 # 之后
范例
parse_url() 例子
代码如下:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url(/blog_article/$url/index.html));
?>
以上例程会输出:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
常常我们会传送一大串网址,然后要解析的话,只能不断地去切token来解析。但是在php中,一定要学会使用前人所写过的函式,这样开发速度才会快别人一截。当然,要解析网址的话,就得去找相关的指令,而今天要介绍的,就是php中的parse_url这个函式。
这个函式主要是用来解析网址,而首先先看一下这个函式原型,其官方描述如下:
mixed parse_url ( string $url [, int $component= -1 ] )
而php官方举了一个例子,而我将他扩充如下,以方便讲解。
代码如下:
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor';
print_r(parse_url(/blog_article/$url/index.html));
?>
首先,先看一下这个程式的输出结果
Array (
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg1=value1&arg2=value2
[fragment] => anchor
)
其中,scheme是指他走的路线,而host则是站台网址,user则是使用者名称,pass则是密码,path则是路径,query则是参数,fragment则是锚点。
而在「$component」的部份,则是有以下的参数可供传递。
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT
而这几个参数则分别代表了Array中的scheme、host、user、pass、path、query和fragment。
同样,举例来说,如果使用PHP_URL_PATH和PHP_URL_QUERY来说,以下为他的示范。
代码如下:
<?php
$url = 'http://username:password@hostname/path?arg1=value1&arg2=value2#anchor'; echo nl2br(parse_url(/blog_article/$url, PHP_URL_PATH/index.html)."\n");
echo nl2br(parse_url(/blog_article/$url, PHP_URL_QUERY/index.html)."\n");
?>
而输出结果将如下:
/path
arg1=value1&arg2=value2
[2]选择PHP作为网站开发语言的原因分享
来源: 互联网 发布时间: 2013-11-30
以下的几点总结了选择PHP作为网站开发语言的特点和优势。
1.开源
PHP是一种开源语言(免费下载、免费使用、免费分享),不管是开发者还是用户都无需因为使用PHP而承担任何费用
2.可移植性
PHP可以运行在任何服务器上(不管是windows还是Linux),当然,选择Linux服务器的效益要好于Windows服务器,因为前者是零成本的
3.易用性
PHP是一门非常容易学习,使用和部署的语言。也正因为如此,PHP被广泛使用
4.丰富的开源代码支持
PHP有很多的开源应用免费提供给开发者和用户,比如鼎鼎有名的wordpress
5.高效的框架
除了提供开源的应用程序,PHP还有许多高效的框架,让开发者能够更快、更好地开发大型应用程序,有名的框架比如:ZEND,Codeigniter,国人开发的Thinkphp
上述特点我想就是使得PHP成为如今最受欢迎的web应用程序开发语言的原因,希望能有更多的PHPER加入到PHP阵营中来~
1.开源
PHP是一种开源语言(免费下载、免费使用、免费分享),不管是开发者还是用户都无需因为使用PHP而承担任何费用
2.可移植性
PHP可以运行在任何服务器上(不管是windows还是Linux),当然,选择Linux服务器的效益要好于Windows服务器,因为前者是零成本的
3.易用性
PHP是一门非常容易学习,使用和部署的语言。也正因为如此,PHP被广泛使用
4.丰富的开源代码支持
PHP有很多的开源应用免费提供给开发者和用户,比如鼎鼎有名的wordpress
5.高效的框架
除了提供开源的应用程序,PHP还有许多高效的框架,让开发者能够更快、更好地开发大型应用程序,有名的框架比如:ZEND,Codeigniter,国人开发的Thinkphp
上述特点我想就是使得PHP成为如今最受欢迎的web应用程序开发语言的原因,希望能有更多的PHPER加入到PHP阵营中来~
[3]php 数组动态添加实现代码(最土团购系统的价格排序)
来源: 互联网 发布时间: 2013-11-30
核心代码如下:
<?php
$now=time();
$oc = array(
'team_type' => 'normal',
"begin_time < '{$now}'",
"end_time > '{$now}'",
);
$p="p2";
$pp1="";
$pp2="";
$now = time();
switch ($p)
{
case "p1":
$pp1="team_price < 10";
$pp2="";
break;
case "p2":
$pp1="team_price > 10";
$pp2="team_price < 50";
break;
case "p3":
$pp1="team_price > 50";
$pp2="team_price < 100";
break;
case "p4":
$pp1="team_price > 100";
$pp2="team_price < 200";
break;
case "p5":
$pp1="team_price > 200";
$pp2="";
break;
default:
$pp1="";
$pp2="";
}
if(!empty($pp1)){
array_push($oc,$pp1);
}
if(!empty($pp2)){
array_push($oc,$pp2);
}
print_r($oc);
?>
因为是多条件查询所以需要先判断是否为空,然后再添加到数组里面。
代码如下:
<?php
$now=time();
$oc = array(
'team_type' => 'normal',
"begin_time < '{$now}'",
"end_time > '{$now}'",
);
$p="p2";
$pp1="";
$pp2="";
$now = time();
switch ($p)
{
case "p1":
$pp1="team_price < 10";
$pp2="";
break;
case "p2":
$pp1="team_price > 10";
$pp2="team_price < 50";
break;
case "p3":
$pp1="team_price > 50";
$pp2="team_price < 100";
break;
case "p4":
$pp1="team_price > 100";
$pp2="team_price < 200";
break;
case "p5":
$pp1="team_price > 200";
$pp2="";
break;
default:
$pp1="";
$pp2="";
}
if(!empty($pp1)){
array_push($oc,$pp1);
}
if(!empty($pp2)){
array_push($oc,$pp2);
}
print_r($oc);
?>
因为是多条件查询所以需要先判断是否为空,然后再添加到数组里面。
最新技术文章: