-
$p = "|<[^>]+>(.*?)</[^>]+>|i";(该句话的意思是< [^>]+(多个不为>的字符) > (.*?)(代表匹配0次或多次任意字符,尽可能的少匹配) </ [^>]+(多个不为>的字符) >)i不区分大小写 >(.*?)<(代表>和<之间匹配的多个字符)查看全部
-
*? 重复任意次,但尽可能少重复 +? 重复1次或更多次,但尽可能少重复 ?? 重复0次或1次,但尽可能少重复 {n,m}? 重复n到m次,但尽可能少重复 {n,}? 重复n次以上,但尽可能少重复 所以并不是取0个,,举个例子 a.*?b匹配最短的,以a开始,以b结束的字符串。如果把它应用于aabab的话,它会匹配aab和ab查看全部
-
preg_match用来执行一个匹配,他的返回值是匹配成功的次数0或者1,在匹配到1次以后就会停止搜索$subject = "abcdef"; $pattern = '/def/'; preg_match($pattern, $subject, $matches); print_r($matches); //结果为:Array ( [0] => def )。 正则表达式的强大的地方是进行模式匹配,因此更多的时候,会使用模式: $subject = "abcdef"; $pattern = '/a(.*?)d/'; preg_match($pattern, $subject, $matches); print_r($matches); //结果为:Array ( [0] => abcd [1] => bc )查看全部
-
数组下标0的结果($matchs[0])是整个表达式的匹配结果,下标1的结果($matchs[1])是第一个小括号里的表达式 (.*) 的匹配结果,如果还有第二,第三个括号,那么以此类推 关于match数组的说明: 文档上的解释为:如果提供了参数 matches ,它将被填充为搜索结果。 $matches[0] 将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。 文档上对于子组的说明为:子组通过圆括号分隔界定,并且它们可以嵌套。 如果正则表达式写为$p = '/\w+\s\w+/';,则没有子组,$matches[1]为空,而$matches[0]包含所匹配的文本;但是将表达式加上括号写为$p = '/(\w+\s\w+)/';,则有了子组,此时$matches[1]与$matches[0]相同。查看全部
-
当我们确切的知道所匹配的字符长度的时候,可以使用{}指定匹配字符数 $p = '/\d{3}\-\d{8}/'; $str = "我的电话是010-12345678"; preg_match($p, $str, $match); echo $match[0]; //结果为:010-12345678查看全部
-
下面的\s匹配任意的空白符,包括空格,制表符,换行符。[^\s]代表非空白符。[^\s]+表示一次或多次匹配非空白符。 $p = '/^我[^\s]+(苹果|香蕉)$/'; $str = "我喜欢吃苹果"; if (preg_match($p, $str)) { echo '匹配成功'; } 在方括号内使用的有: \ 转义字符 ^ 仅在作为第一个字符(方括号内)时,表明字符类取反 - 标记字符范围 $p = '/[\w\.\-]+@[a-z0-9\-]+\.(com|cn)/'; $str = "我的邮箱是Spark.eric@imooc.com"; preg_match($p, $str, $match); echo $match[0]; \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 [x] 匹配x字符,匹配字符串中的 a、b , c 字符 \W \w的反义,匹配任意非字母,数字,下划线和汉字的字符 \S \s的反义,匹配任意非空白符的字符 \D \d的反义,匹配任意非数字的字符 \B \b的反义,不是单词开头或结束的位置 [^x] 匹配除了 x 意外的任意字符,如 [^abc] 匹配除了 abc 这几个字母之外的任意字符 \ 一般用于转义字符 ^ 断言目标的开始位置(或在多行模式下是行首) $ 断言目标的结束位置(或在多行模式下是行尾) . 匹配除换行符外的任何字符(默认) [ 开始字符类定义 ] 结束字符类定义 | 开始一个可选分支 ( 子组的开始标记 ) 子组的结束标记 ? 作为量词,表示 0 次或 1 次匹配。位于量词后面用于改变量词的贪婪特性。 (查阅量词) * 量词,0 次或多次匹配 + 量词,1 次或多次匹配 { 自定义量词开始标记 } 自定义量词结束标记 实例:$p = '/\d+\-\d+/';(不加+号只会匹配一次,切记加+号) $str = "电话是010-12345678";结果010-12345678 使用+后将会变的贪婪,将匹配尽可能多的字符,使用问号?字符时,它将尽可能少的匹配字符 实例:$p = '/\d?\-\d?/'; $str = "电话是010-12345678";结果0-1查看全部
-
正则表达式中常用的模式修正符有i、g、m、s、x、e等。它们之间可以组合搭配使用。 它们的作用如下: //修正符:i 不区分大小写的匹配; //修正符:g表示全局匹配 //修正符:m 将字符串视为多行,不管是那行都能匹配; //修正符:s 将字符串视为单行,换行符作为普通字符; //修正符:x 将模式中的空白忽略; //修正符:A 强制从目标字符串开头匹配; //修正符:D 如果使用$限制结尾字符,则不允许结尾有换行; //修正符:U 只匹配最近的一个字符串;不重复匹配; //修正符:e 配合函数preg_replace()使用,可以把匹配来的字符串当作正则表达式执行;查看全部
-
正则匹配模式使用分隔符与元字符组成,分隔符可以是非数字、非反斜线、非空格的任意字符。经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~)。例:/foo bar/ #^[^0-9]$#,~php~ 分隔符需要使用反斜杠(\)进行转义:/http:\/\// 模式中包含较多的分割字符,建议更换其他的字符作为分隔符,也可以采用preg_quote进行转义:$p = 'http://'; $p = '/'.preg_quote($p, '/').'/'; echo $p; 分隔符后面可以使用模式修饰符,模式修饰符包括:i, m, s, x等,例如使用i修饰符可以忽略大小写匹配:$str = "Http://www.imooc.com/"; if (preg_match('/http/i', $str)) { echo '匹配成功'; }查看全部
-
PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。 不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同。 mysql扩展进行数据库连接的方法: $link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password'); mysqli扩展: $link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password'); PDO扩展 $dsn = 'mysql:dbname=testdb;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password);查看全部
-
如果要转换文件大小的单位,可以自己定义函数来实现。 function getsize($size, $format = 'kb') { $p = 0; if ($format == 'kb') { $p = 1; } elseif ($format == 'mb') { $p = 2; } elseif ($format == 'gb') { $p = 3; } $size /= pow(1024, $p); return number_format($size, 3); } $filename = '/data/webroot/usercode/code/resource/test.txt'; $size = filesize($filename); $size = getsize($size, 'kb'); //进行单位转换 echo $size.'kb';查看全部
-
值得注意的是,没法通过简单的函数来取得目录的大小,目录的大小是该目录下所有子目录以及文件大小的总和,因此需要通过递归的方法来循环计算目录的大小。查看全部
-
给大家解释一下,由于WEB程序是基于HTTP协议进行传输的,而HTTP又是无状态协议,数据交换完毕就会断开连接,无法单从连接上判断客户端身份。浏览器请求服务器,服务器通过setcookie发送cookie,浏览器保存cookie,当浏览器再次请求服务器时,会将网址连同cookie一起发送给服务器,服务器检查cookie,就可以判断客户端状态了。在登录信息的应用上,由于存储在浏览器不安全,便可通过在服务器存储的session进行安全性的提高。查看全部
-
session可以用来存储多种类型的数据,因此具有很多的用途,常用来存储用户的登录信息,购物车数据,或者一些临时使用的暂存数据等。 用户在登录成功以后,通常可以将用户的信息存储在session中,一般的会单独的将一些重要的字段单独存储,然后所有的用户信息独立存储。查看全部
-
setcookie(名称 , 值 , 有效期 , 路径 , 域 , 是否通过安全传输);其中名称和值是必需的,后面的可选。查看全部
-
dasdas查看全部
举报
0/150
提交
取消