Rumah >pembangunan bahagian belakang >tutorial php >PHP正则表达式之2种模式和Cookie详解(代码实例)

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

易达
易达asal
2020-05-30 17:43:202057semak imbas

本文目标:

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

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

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

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

5、了解PHP中Cookie的定义

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

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

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

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

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

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

举例

代码如下:

<?php
//下面的\d表示匹配数字
$p = &#39;/\d+\-\d+/&#39;;
$str = "我的电话是010-13875678";
if(  preg_match($p, $str, $match) ){
    echo "字符串符合规则,匹配结果为:<br/>";
    print_r( $match );
}else{
    echo "字符串不符合规则";
}
?>

运行结果为:

字符串符合规则,匹配结果为:
Array ( [0] => 010-13875678 

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

举例代码如下:

<?php
//下面的\d表示匹配数字
$p = &#39;/\d?\-\d?/&#39;;
$str = "我的电话是010-13875678";
if(  preg_match($p, $str, $match) ){
    echo "字符串符合规则,匹配结果为:<br/>";
    print_r( $match );
}else{
    echo "字符串不符合规则";
}
?>

运行结果为:

字符串符合规则,匹配结果为:
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

<?php
$name = "zhangsan";
setcookie("name",$name);
?>

运行结果为空

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

步骤如下:

1、按下F12

2、点击Application

1.png

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

2.png

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

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

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

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

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

具体代码如下:

<?php

$name = "zhangsan";
echo $_COOKIE["name"];

?>

输出结果如下:

zhangsan

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

<?php
$name = "zhangsan";
setcookie("name",$name,time()+5);
echo "cookie name值=".$_COOKIE["name"];
echo " 该值将在5秒钟后失效";
?>

运行结果为:

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的基本用法,获取和设置

Atas ialah kandungan terperinci PHP正则表达式之2种模式和Cookie详解(代码实例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn