当前位置:首页 > PHP教程 > 正则表达式 > 列表

PHP正则表达式之2种模式和Cookie详解(代码实例)

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-18 09:58:39 浏览: 评论:0 

本文目标:

1、了解正则表达式的贪婪模式的定义

2、了解正则表达式的懒惰模式的定义

3、掌握正则表达式的贪婪模式的用法

4、掌握正则表达式的懒惰模式的用法

5、了解PHP中Cookie的定义

6、掌握Cookie的基本用法,获取和设置

(一)、了解正则表达式的贪婪模式的定义

贪婪模式的定义:在可匹配与可不匹配的时候,优先匹配

(二)、了解正则表达式的懒惰模式的定义

懒惰模式的定义:和贪婪模式相反,在可匹配与可不匹配的时候,优先不匹配

(三)、掌握正则表达式的贪婪模式的用法

举例

代码如下:

  1. <?php 
  2.  
  3. //下面的\d表示匹配数字 
  4.  
  5. $p = '/\d+\-\d+/'
  6.  
  7. $str = "我的电话是010-13875678"
  8.  
  9. if(  preg_match($p$str$match) ){ 
  10.  
  11.     echo "字符串符合规则,匹配结果为:<br/>"
  12.  
  13.     print_r( $match ); 
  14.  
  15. }else
  16.  
  17.     echo "字符串不符合规则"
  18.  
  19.  
  20. ?> 

运行结果为:

字符串符合规则,匹配结果为:

Array ( [0] => 010-13875678

(四)、掌握正则表达式的贪婪模式的用法

举例代码如下:

  1. <?php 
  2.  
  3. //下面的\d表示匹配数字 
  4.  
  5. $p = '/\d?\-\d?/'
  6.  
  7. $str = "我的电话是010-13875678"
  8.  
  9. if(  preg_match($p$str$match) ){ 
  10.  
  11.     echo "字符串符合规则,匹配结果为:<br/>"
  12.  
  13.     print_r( $match ); 
  14.  
  15. }else
  16.  
  17.     echo "字符串不符合规则"
  18.  
  19.  
  20. ?> 

运行结果为:

字符串符合规则,匹配结果为:

Array ( [0] => 0-1 )

由此可见,贪婪模式是尽可能多的匹配,能多则多,而懒惰模式是尽可能少的匹配,能少则少

(五)、了解PHP中Cookie的定义

Cookie就是一组多组数据,只不过这个数据是存储到客户端的浏览器中,我们通过Cookie来存储用户的部分体积小的数据。比如保存用户的登录账号信息到客户端的浏览器中

(六)、掌握PHP中Cookie的基本用法,获取和设置

1、php中设置cookie,是用方法setcookie,但是setcookie方法其实是有7个参数的,不过常用的参数是以下几个

name( Cookie名)可以通过$_COOKIE['name'] 进行访问

value(Cookie的值)

expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭即失效

path(有效路径)如果路径设置为'/',则整个网站都有效

domain(有效域)默认整个域名都有效

2、php中获取一个cookie,通过$_COOKIE["参数名"]

具体代码如下:

实践目标:

1、使用参数name,value

  1. <?php 
  2.  
  3. $name = "zhangsan"
  4.  
  5. setcookie("name",$name); 
  6.  
  7. ?> 

运行结果为空

我们刚刚说这些cookie是存储到浏览器中,那么如何查看呢?

步骤如下:

1、按下F12

2、点击Application

PHP正则表达式之2种模式和Cookie详解(代码实例)

3、点击Cookies,找到我们对应的域名

PHP正则表达式之2种模式和Cookie详解(代码实例)

这样我们可以看到我们设置的name数据

我们可以看到其实这条记录其实还有很多属性,除了name,值,还有Domain,Path,Expires

默认path就是当前页面所在的目录

Expires表示有效期,默认就是一个会话有效时间

现在我们来看下把这个zhangsan输出来

具体代码如下:

  1. <?php 
  2.  
  3. $name = "zhangsan"
  4.  
  5. echo $_COOKIE["name"]; 
  6.  
  7. ?> 

输出结果如下:

zhangsan

接下来我们来试试另外一个参数,有效时间,我们希望将这个数据的有效时间就是5秒钟,超过了以后,就失效。

  1. <?php 
  2.  
  3. $name = "zhangsan"
  4.  
  5. setcookie("name",$name,time()+5); 
  6.  
  7. echo "cookie name值=".$_COOKIE["name"]; 
  8.  
  9. echo " 该值将在5秒钟后失效"
  10.  
  11. ?> 

运行结果为:

cookie name值=zhangsan 该值将在5秒钟后失效

5秒钟后我们再来运行结果

运行结果为:

Notice: Undefined index: name in D:\E-class\class-code\classing\index.php on line 10

cookie name值= 该值将在5秒钟后失效

总结:

1、了解正则表达式的贪婪模式的定义

2、了解正则表达式的懒惰模式的定义

3、掌握正则表达式的贪婪模式的用法

4、掌握正则表达式的懒惰模式的用法

5、了解PHP中Cookie的定义

6、掌握Cookie的基本用法,获取和设置

Tags: PHP正则表达式 Cookie

分享到: