-
PHP类和对象之定义类的方法
使用关键字static修饰的,称之为静态方法,静态方法不需要实例化对象,可以通过类名直接调用,操作符为双冒号::
查看全部 -
受保护的属性与私有属性不允许外部调用,在类的成员方法内部是可以调用的。
查看全部 -
PHP类和对象之类的属性
默认都为public,外部可以访问。一般通过->对象操作符来访问对象的属性或者方法,对于静态属性则使用::双冒号进行访问。当在类成员方法内部调用的时候,可以使用$this伪变量调用当前对象的属性。
查看全部 -
PHP类和对象之创建一个对象
//方法内部可以使用$this伪变量调用对象的属性或者方法
查看全部 -
preg_quote要研究下
查看全部 -
PHP中使用PCRE库函数进行正则匹配
preg_match($p, $str),$p是正则表达式,$str是源字符串
查看全部 -
静态方法和静态属性
静态属性与方法可以在不实例化类的情况下调用,直接使用
类名::方法名
的方式进行调用。静态属性不允许对象使用->操作符调用静态方法中,$this伪变量不允许使用。可以使用self,parent,static在内部调用静态方法与属性。
静态方法也可以通过变量来进行动态调用,让人很是困惑
$func = 'getSpeed'; $className = 'Car'; echo $className::$func(); //动态调用静态方法
查看全部 -
$contents
=
$contents
.
fread
(
$fp
, 4096);
$content .= fread($fp,4096);等号前面为什么要加上一个.
查看全部 -
设置Cookie有两种方式:
1.原生PHP的setcookie()函数:
/*
para1: Cookie的变量名
para2: Cookie变量的值,该值保存在客户端,不能用来保存敏感数据
para3: Cookie的失效时间,expire是标准的UNIX时间标记,可以用time()函数或mktime()函数获取。单位为秒
para4: Cookie在服务器的有效路径
para5: Cookie有效的域名
para6: 指明Cookie是否仅通过安全的HTTPS,值为0或1
para7: true(表明只能通过HTTP访问,不会访问JavaScript等)或false(不限制)
*/
function setcookie ($name, $value = "", $expire = 0, $path = "", $domain = "", $secure = false, $httponly = false) {}2.通过header()的方式操作cookie:
与上面的原生类似,各个参数的含义请一一对照,函数原型如下:header("Set-Cookie:name=value[;expires=date][;domain=domain][;path=path][;secure][;httponly]");
举个例子://设置Cookie名为id,值为100,失效时间为一小时,只能通过HTTP访问
header("Set-Cookie:id=100; expires=".gmdate('D, d M Y H:i:s \G\M\T', time()+3600); httponly);
查看全部 -
完整的说,是强制匹配的到字符串的结尾,举个例子:
$name = 'tom mike'; // tom和mike之间有个空格
如果是:
$str = preg_match('/\w+/i', $name, $result);
echo $result[0];
就会匹配成功,并且输出 tom;
如果是:
$str = preg_match('/\w+$/i', $name, $result);
echo $result[0];
就会匹配失败,输出时报错,因为在强制匹配到结尾时,因为字符串中间有空格,不符合\w+ 的匹配条件,所以匹配失败。
查看全部 -
<?php
$str = '主要有以下几个文件:index.php, style.css, common.js';
$pattern = "/(\w+)\.(\w+)/i";//这里我将\w+用括号包含起来
preg_match_all($pattern,$str,$match);
第一个(\w+)匹配的值可以用$1进行引用,匹配到的值是 index,style,common
第二个(\w+)匹配的值可以用$2进行引用.匹配到的值是 php,css,js
整个完整的正则匹配到的值就是用$0进行引用。
与这个相关的是正则表达式的后向引用,http://www.cnblogs.com/oneroundseven/archive/2011/05/06/2039004.html,可以参考下
查看全部 -
$p = "|<[^>]+>(.*?)</[^>]+>|i";
1 输出结果:
Array
(
[0] => Array
(
[0] => <b>example: </b>
[1] => <div align=left>this is a test</div>
)
[1] => Array
(
[0] => example:
[1] => this is a test
)
)
查看全部 -
.表示任意字符,*表示重复0次或更多次,?表示尽可能匹配最少,.*具有贪婪的性质,首先匹配到不能匹配为止,.*?则相反,只要求最少匹配
查看全部 -
$p = "|<[^>]+>(.*?)</[^>]+>|i";
这是一个正则表达式,<是左尖括号,[^>]指除了右尖括号以外的任何字符,+指匹配一次或多次,>指右尖括号,(.*?)是一种懒惰匹配模式,匹配任何可见字符,</[^>]+>同理,i指忽略大小写
查看全部 -
正则表达式的匹配过程:根据正则表达式$p,
从$subject的第一个字符m开始匹配,my之后遇到空格不匹配;
从第二个字符y开始,之后遇到空格不匹配;
从第三个字符开始,空格不匹配;依次类推,从spark到结束,符合正则表达式$p,所以返回邮箱地址
查看全部
举报