二:字符串和正则表达式_URL处理

来源:互联网 发布:norse attack map源码 编辑:程序博客网 时间:2024/05/29 14:36

二:字符串和正则表达式_正则表达式

一.正则表达式概述
正则表达式是一种进行文本匹配的工具.在PHP中,正则表达式的创建很简单,只需将模式的内容包含在两个反斜线"/"之间,如"/PHP/".即将要匹配的内容放在定界符之间,其中定界符的使用不局限于"/",也可以使用除数字、字母和斜线以"/"外的任何字符.如:"#","/","!"

阅读全文评论(0)
二:字符串和正则表达式_URL处理2010-05-14 12:05:00
收起全文

URL的命名是统一资源定位符(Uniform Resource Locator),URL处理技术主要是对URL地址中的内容进行操作,包括解析URL和对URL字符进行编码和解码.

一.URL字符串解析:parse_str(),parse_url()
1.parse_str()函数对浏览器中通过GET方法获取的QUERY_STRING字符串进行解析.返回QUERY_STRING字符串中的变量名和值或者以数组的形式返回字符串中的值.语法如下:
void parse_str(string encoded_string,[array result]) //encoded_string 为指定要解析的QUERY_STRING字符串;result为指定的数组名称,在将解析的字符串的值存储到数组中时使用
e.x  
<?php
$GET="user=%C3%F7%C8%D5%BF%C6%BC%BC&pass=123456&Submit=%CC%E1%BD%BB"; //$GET中的内容是通过GET方法返回的QUERY_STRING的查询字符串
parse_str($GET);         //以同名变量的形式输出字符串
echo $user;
echo $pass;
echo $Submit;
parse_str($GET,$array);          //以数组的形式输出字符串
echo "<br>".$array[user];
echo $array[pass];
echo $array[Submit];
?>

2.parse_url()函数能够全面解析URL,通过该函数可以获取到URL中所有的信息,包括:协议,域名,端口,路径等,该函数返回值为一个数组.语法如下:
array parse_url(string url) 
parse_url()函数返回的结果有:
scheme 协议,例如:"http"
host 域名
port 端口,例如"80"
user 认证户名
pass 认证密码
path 访问路径
query 查询字符串,URL中" ? "后的内容,$_SERVER["QUERY_STRING"]
fragment 锚,页面的定位标记,URL中"#"后的内容
e.x :
<?php
$array = parse_url("http://hi.baidu.com/xiaohongyang/modify/blog/f713c91cf520148787d6b692#fs");
print_r($array);
?>
输出结果如下:
Array ( [scheme] => http [host] => hi.baidu.com [path] => /xiaohongyang/modify/blog/f713c91cf520148787d6b692 [fragment] => fs ) 

二.URL编码解码函数
1,URL编码解码的技术主要出于对网站安全的考虑,避免因为内容的暴露而导致网站遭到非法的入侵和攻击,并且对用户提交的密码进行加密处理,使用户密码处于绝对保密状态,网站的管理者也不能看到用户注册的密码.
URL编码解码技术实现方法很多,这里只介绍一组方法:编码函数urlencode()和解码函数urldecode()
(1)urlencode()编码函数,对字符串进行编码,返回值为字符串类型.此字符串中除-_.之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+).语法如下:
string urlencode(string str)
(2)urldecode()返回解码后的字符串.该函数实现对已经编码字符串中的任何%##进行解码.语法如下:
string urldecode(string str)
e.x
<?php
echo "编码函数urlencode():".urlencode("http://hi.baidu.com/xiaohongyang");
echo "<br>";
echo "解码函数urldecode():".urldecode("http%3A%2F%2Fhi.baidu.com%2Fxiaohongyang");
?>
运行结果如下:
编码函数urlencode():http%3A%2F%2Fhi.baidu.com%2Fxiaohongyang
解码函数urldecode():http://hi.baidu.com/xiaohongyang

原创粉丝点击