欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP第九课 正则表达式在PHP中的使用

程序员文章站 2022-04-29 16:53:48
...
今天内容
1.正则表达式
2.数学函数
3.日期函数
4.错误处理


正则表达式:
1.模式修正符
2.五个常用函数




另外一个正则表达式的网站:http://www.jb51.net/tools/zhengze.html

正则表达式
1.原子
2.元子符
3.模式修正符




正则表达式函数
1.preg_match();
2.preg_match_all();
3.preg_grep();
4.preg_replace();
5.preg_split();




原子:




.:代表任意一个字符
\w: 字母 数字 下划线




元子符:




*:修饰前面的,0,1,多个.代表任意多个字符,直到结束
+:一个.多个
?:0个一个前面的原子
|:代表或
^:一开什么开头
$:以什么结尾
\b:词边缘
\B:非词边缘




单个字母 数字
a-z A-Z 0-9 代表任意一个字符
[]代表里面的任意一个字符
[^abc]他里面除了abc的任意一个字符
()代表一个单元
\d 任意一个数字
\D 任意一个非数字
\w:代表任意一个字母数字下划线
\W:出了字母.数字.下划线意外任意一个字符
\s:空白字符
\S:除了空白字符以外的任意一个字符
{2}:2个原子
{2,}:2个以上的原子
{2,5}: 2-5个前面的原子




模式修正符:
/正则表达式/U




匹配与以上特殊字符同名的普通字符,需要在前面加入/

";		print_r($mats);		echo "
"; ?>






//匹配ip

";			 print_r($mats);			 echo "
"; ?>


模式修正符,放在正则表达式的最后面


i,m,s,u,e
i :忽略大小写
m :视为多行
s :视为一行
u :贪婪模式,最大模式
e :替换的时候用的,可以用函数加工,用于匹配正则表达式中的第一个圆括号



"; print_r($mats); echo "
"; ?>



m例子
m视为多行
 "; print_r($mats); echo "
"; ?>



模式修正符


"; print_r($mats); echo "
"; ?>





e的使用
"; print_r($str2); echo "
"; ?>





向后引用
 "; print_r($str2); echo "
"; ?>




五个常用函数


1.字符串的匹配与替换
preg_match();
preg_match_all();
preg_grep();做搜索


2.字符串的替换
preg_replace();


3.字符串的分割
preg_split();




eval让字符串表达式能够执行


preg_grep实例,做搜索:
";    print_r($arr2);    echo "
"; ?>



4.数学函数
1.max();
2.min();


注意:1.多个数字,2,多个数字组成的数组
";	 echo max(array(4,6,8,9));	 ?>





5.日期函数
1.time();
2.date(); //把时间戳转换为日期
3.strtotime();//把日期转换为时间戳
4.microtime();
//calc打开计算器


时间的起源点:
"; echo date("Y-m-d H:i-s w t",0); ?>


时间转换为时间戳
 





计算当前时间的具体日期:
  




通过修改时区来查找当前日期:
  




注意:如果每个改比较麻烦的话,就直接去修改php的配置文件php.ini文件,直接修改里面的date 找见timezone修改为PRC




date参数:
Y 2014 年全
y 14 年只有后两位
m 03 月份有前导0
n 3 月份没有前导0
d 05 日期有前导0
j 5 日期没有前导0
H 24小时
h 12小时
i 05分钟
s 05秒
w 0-6 周日到周六
t 31 一月多少天
L 是否为闰年


//怎样区分平润年
能够被4整除,同时如果能被100整除的话,那就必须被400整除,此时它就是闰年




microtime() 微秒


计算脚本的运行时间:




实例:万年历


万年历技术点
1.几年几月几日
2.周日到周六
3.1号是星期几
4.这个月有多少天
5.下一年和上一年
6.下一月和上一月


万年历代码:
"; //输出表头 echo "

{$year}年{$month}月

"; //输出日期表格 echo "
"; //输出第一行 echo ""; //表头单元格由th来创建 echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; //开始铺表格 for($i = 1 - $weeks;$i "; for ($j=0; $j $days || $i "; } else{ echo ""; } $i++; } echo ""; } echo "
{$i}
"; //实现一下上一年和上一月 if($month == 1){ $prevyear = $year - 1; $prevmonth = 12; } else{ $prevyear = $year; $prevmonth = $month -1; } if($month == 12){ $nextyear = $year + 1; $nextmonth = 1; } else{ $nextyear = $year; $nextmonth = $month + 1; } //输出上一月和下一月的按钮 echo "

上一月|下一月

"; echo ""; ?>




PHP的错误处理
1.关闭和开启报错
2.错误报告级别
3.错误报告地方






关闭和开启报错




E_ALL
E_ERROR //严重错误
E_WARNING //警告错误
E_PARSE //语法错误
E_NOTICE //提示错误


关闭错误
display_error = off




报什么级别的错:
error_reporting = E_ALL
error_reporting = E_ALL & ~E_NOTICE //报所有错误,但是除了提示错误


报错地方:
//是否从浏览器报错
display_error = off


//是否把错误输出到一个自定义日志文件中
log_errors = on


error_log = d:\phplogs\php.log

转载请注明出处: http://blog.csdn.net/junzaivip