1正则表达式
1.1基本匹配字符串
$p = '/apple/';
$str = "apple banna";
if (preg_match($p, $str)) {
echo 'matched';
}
1.2 preg_match
只能匹配一次结果,但很多时候我们需要匹配所有的结果,preg_match_all可循环获取列表中的匹配结果数组。
$p = "|] >(.*?)[^>] >|i";
$str = "example:
preg_match_all($p, $str, $matches);
print_r($matches);
1.3 preg_replace 去掉多余的空间
$str = 'one two';
$str = preg_replace('/\s /', ' ', $str);
echo $str; //
1.4用preg_quote进行转义
$p = 'http://';
$p = '/'.preg_quote($p, '/').'/';
echo $p;
2 session与cookie
2.1设置cookie
name( Cookie名)可以通过$_COOKIE['name'] 进行访问value(Cookie的值)expire(过期时间)Unix时间戳格式,默认为0,表示浏览器关闭无效path如果路径设置为‘/’,则整个网站都是有效的domain(有效域)整个域名默认有效,假如设置了如果设置www.imooc.com',则只在www子域中有效
$value = 'test';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time() 3600); ///有效期一小时
setcookie("TestCookie", $value, time() 3600, "/path/", "imooc.com"); //设置路径和域
2.2 cookie删除和过期时间
php中没有cookie的删除函数
setcookie('test', '', time()-1);
这样做只要cookie有效时间过期,cookie会自动失效
用header方法来设置
header("Set-Cookie:test=1393832059; expires=".gmdate('D, d M Y H:i:s \G\M\T', time()-1));
gmdate,为了消除时差的影响,生成格林威治的标准时间。
2.3 cookie的有效路径
默认cookie在'/'路径下有效,在设置'/path以后,只有在设定的路径下才能有效
setcookie('test', time(), 0, '/path');
2.4 session的使用
session任何数据类型都可以支持
session_start();
//设置一个session
$_SESSION['test'] = time();
$_SESSION['ary'] = array('name' => 'jobs');
$_SESSION['obj'] = new stdClass();
2.5 session删除和销毁
删除session可以使用中间的某个值unset()函数
unset($_SESSION['name']);
如果要删除整个session,就需要用到session_destory()函数
session_start();
$_SESSION['ary'] = array('name' => 'jobs');
unset($_SESSION);///这句话需要立即销毁session中用到
session_destory();
2.6 session存储用户登录信息
登录成功后,用户通常可以存储用户的信息session一般来说,一些重要的字段会单独存储,然后所有用户信息都会单独存储。
$_SESSION['uid'] = $userinfo['uid'];
$_SESSION['userinfo'] = $userinfo;