찾다
백엔드 개발PHP 튜토리얼PHP第九课 正则表达式在PHP中的使用

今天内容
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




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

<?php $sub = "www.baidu.com";		$ptn = '/\w*\.\w*\.\w*/';		//         正则表达式,元数据,返回的数据		preg_match($ptn, $sub,$mats);		echo "<pre class="brush:php;toolbar:false">";		print_r($mats);		echo "
"; ?>






//匹配ip

<?php $str = "my ip is 192.168.10.1sdjlfajdf192.178.39.4la";			 $ptn = '/\d+\.\d+\.\d+\.\d+/';			 			 preg_match_all($ptn, $str,$mats);			 echo "<pre class="brush:php;toolbar:false">";			 print_r($mats);			 echo "
"; ?>


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


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



<?php $str = "Linux and php are lamp or linux is very  much"; $ptn = '/linux/i'; preg_match_all($ptn, $str,$mats); echo "<pre class="brush:php;toolbar:false">"; print_r($mats); echo "
"; ?>



 m例子
 m视为多行
 <?php $str = "Linux and php are lamp or \nlinux is very  much"; $ptn = '/^linux/im'; preg_match_all($ptn, $str,$mats); echo "<pre class="brush:php;toolbar:false">"; print_r($mats); echo "
"; ?>



模式修正符


<?php $str = "Linux and php are lamp or \nlinux is very  much"; $ptn = '/.*/s'; preg_match_all($ptn, $str,$mats); echo "<pre class="brush:php;toolbar:false">"; print_r($mats); echo "
"; ?>





 e的使用
 
<?php $str = "123 php"; $ptn = '/\d+\s(\w+)/e'; $rep = 'strtoupper($1)'; // preg_match_all($ptn, $str,$mats); $str2 = preg_replace($ptn, $rep, $str); echo "<pre class="brush:php;toolbar:false">"; print_r($str2); echo "
"; ?>





向后引用
 <?php $str = "123 php"; $ptn = '/(\d+)(\s)(\w+)/'; $rep = '$3$2$1'; // preg_match_all($ptn, $str,$mats); $str2 = preg_replace($ptn, $rep, $str); echo "<pre class="brush:php;toolbar:false">"; print_r($str2); echo "
"; ?>

 


五个常用函数


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


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


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




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


preg_grep实例,做搜索:
 
<?php //比如代表文章    $arr = array(      "php html",      " linux redhat rhce",      "junzaivip test php",    	);	 //需要搜索的内容    $ptn = '/junzaivip/';    //返回搜索到的内容    $arr2 = preg_grep($ptn, $arr);    echo "<pre class="brush:php;toolbar:false">";    print_r($arr2);    echo "
"; ?>



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


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





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


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


 时间转换为时间戳
 
 <?php echo strtotime("2014-12-12"); ?>





 计算当前时间的具体日期:
  <?php echo date("Y-m-d H:i:s",time()+8*3600); ?>




 通过修改时区来查找当前日期:
  <?php //设置中国的时区为默认时区 date_default_timezone_set("PRC"); echo date("Y-m-d H:i:s",time()); ?>




 注意:如果每个改比较麻烦的话,就直接去修改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整除,此时它就是闰年
  
<?php //设置中国的时区为默认时区	 date_default_timezone_set("PRC");	 $y = "1900/1/1";	 $time = strtotime($y);	 echo date("L",$time); ?>




 microtime() 微秒


 计算脚本的运行时间:
  
<?php $stime =  microtime(1);//注意这个位置必须用true,否者无法参与计算 	sleep(1); 	$etime =  microtime(1); 	echo $etime - $stime; ?>




 实例:万年历


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


 万年历代码:
  
<?php //修改字符编码 //header("content-type:text/html;charset=utf-8"); date_default_timezone_set("PRC"); 	//获取当前年 $year = $_GET['y']?$_GET['y']:date('Y'); 	//获取当前月 $month = $_GET['m']?$_GET['m']:date('m'); 	//获取获取当前月有多少天 $days =  date('t',strtotime("{$year}-{$month}-1"));//里面必须用双引号 //当前一号是周几 $weeks = date('w',strtotime("{$year}-{$month}-1")); //所有有内容居中 echo "<center>"; //输出表头 echo "<h2 id="year-年-month-月">{$year}年{$month}月</h2>"; //输出日期表格 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



성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP 실행 : 실제 예제 및 응용 프로그램PHP 실행 : 실제 예제 및 응용 프로그램Apr 14, 2025 am 12:19 AM

PHP는 전자 상거래, 컨텐츠 관리 시스템 및 API 개발에 널리 사용됩니다. 1) 전자 상거래 : 쇼핑 카트 기능 및 지불 처리에 사용됩니다. 2) 컨텐츠 관리 시스템 : 동적 컨텐츠 생성 및 사용자 관리에 사용됩니다. 3) API 개발 : 편안한 API 개발 및 API 보안에 사용됩니다. 성능 최적화 및 모범 사례를 통해 PHP 애플리케이션의 효율성과 유지 보수 성이 향상됩니다.

PHP : 대화식 웹 컨텐츠를 쉽게 만들 수 있습니다PHP : 대화식 웹 컨텐츠를 쉽게 만들 수 있습니다Apr 14, 2025 am 12:15 AM

PHP를 사용하면 대화식 웹 컨텐츠를 쉽게 만들 수 있습니다. 1) HTML을 포함하여 컨텐츠를 동적으로 생성하고 사용자 입력 또는 데이터베이스 데이터를 기반으로 실시간으로 표시합니다. 2) 프로세스 양식 제출 및 동적 출력을 생성하여 htmlspecialchars를 사용하여 XSS를 방지합니다. 3) MySQL을 사용하여 사용자 등록 시스템을 작성하고 Password_Hash 및 전처리 명세서를 사용하여 보안을 향상시킵니다. 이러한 기술을 마스터하면 웹 개발의 효율성이 향상됩니다.

PHP 및 Python : 두 가지 인기있는 프로그래밍 언어를 비교합니다PHP 및 Python : 두 가지 인기있는 프로그래밍 언어를 비교합니다Apr 14, 2025 am 12:13 AM

PHP와 Python은 각각 고유 한 장점이 있으며 프로젝트 요구 사항에 따라 선택합니다. 1.PHP는 웹 개발, 특히 웹 사이트의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 간결한 구문을 가진 데이터 과학, 기계 학습 및 인공 지능에 적합하며 초보자에게 적합합니다.

PHP의 지속적인 관련성 : 여전히 살아 있습니까?PHP의 지속적인 관련성 : 여전히 살아 있습니까?Apr 14, 2025 am 12:12 AM

PHP는 여전히 역동적이며 현대 프로그래밍 분야에서 여전히 중요한 위치를 차지하고 있습니다. 1) PHP의 단순성과 강력한 커뮤니티 지원으로 인해 웹 개발에 널리 사용됩니다. 2) 유연성과 안정성은 웹 양식, 데이터베이스 작업 및 파일 처리를 처리하는 데 탁월합니다. 3) PHP는 지속적으로 발전하고 최적화하며 초보자 및 숙련 된 개발자에게 적합합니다.

PHP의 현재 상태 : 웹 개발 동향을 살펴보십시오PHP의 현재 상태 : 웹 개발 동향을 살펴보십시오Apr 13, 2025 am 12:20 AM

PHP는 현대 웹 개발, 특히 컨텐츠 관리 및 전자 상거래 플랫폼에서 중요합니다. 1) PHP는 Laravel 및 Symfony와 같은 풍부한 생태계와 강력한 프레임 워크 지원을 가지고 있습니다. 2) Opcache 및 Nginx를 통해 성능 최적화를 달성 할 수 있습니다. 3) PHP8.0은 성능을 향상시키기 위해 JIT 컴파일러를 소개합니다. 4) 클라우드 네이티브 애플리케이션은 Docker 및 Kubernetes를 통해 배포되어 유연성과 확장 성을 향상시킵니다.

PHP 대 기타 언어 : 비교PHP 대 기타 언어 : 비교Apr 13, 2025 am 12:19 AM

PHP는 특히 빠른 개발 및 동적 컨텐츠를 처리하는 데 웹 개발에 적합하지만 데이터 과학 및 엔터프라이즈 수준의 애플리케이션에는 적합하지 않습니다. Python과 비교할 때 PHP는 웹 개발에 더 많은 장점이 있지만 데이터 과학 분야에서는 Python만큼 좋지 않습니다. Java와 비교할 때 PHP는 엔터프라이즈 레벨 애플리케이션에서 더 나빠지지만 웹 개발에서는 더 유연합니다. JavaScript와 비교할 때 PHP는 백엔드 개발에서 더 간결하지만 프론트 엔드 개발에서는 JavaScript만큼 좋지 않습니다.

PHP vs. Python : 핵심 기능 및 기능PHP vs. Python : 핵심 기능 및 기능Apr 13, 2025 am 12:16 AM

PHP와 Python은 각각 고유 한 장점이 있으며 다양한 시나리오에 적합합니다. 1.PHP는 웹 개발에 적합하며 내장 웹 서버 및 풍부한 기능 라이브러리를 제공합니다. 2. Python은 간결한 구문과 강력한 표준 라이브러리가있는 데이터 과학 및 기계 학습에 적합합니다. 선택할 때 프로젝트 요구 사항에 따라 결정해야합니다.

PHP : 웹 개발의 핵심 언어PHP : 웹 개발의 핵심 언어Apr 13, 2025 am 12:08 AM

PHP는 서버 측에서 널리 사용되는 스크립팅 언어이며 특히 웹 개발에 적합합니다. 1.PHP는 HTML을 포함하고 HTTP 요청 및 응답을 처리 할 수 ​​있으며 다양한 데이터베이스를 지원할 수 있습니다. 2.PHP는 강력한 커뮤니티 지원 및 오픈 소스 리소스를 통해 동적 웹 컨텐츠, 프로세스 양식 데이터, 액세스 데이터베이스 등을 생성하는 데 사용됩니다. 3. PHP는 해석 된 언어이며, 실행 프로세스에는 어휘 분석, 문법 분석, 편집 및 실행이 포함됩니다. 4. PHP는 사용자 등록 시스템과 같은 고급 응용 프로그램을 위해 MySQL과 결합 할 수 있습니다. 5. PHP를 디버깅 할 때 error_reporting () 및 var_dump ()와 같은 함수를 사용할 수 있습니다. 6. 캐싱 메커니즘을 사용하여 PHP 코드를 최적화하고 데이터베이스 쿼리를 최적화하며 내장 기능을 사용하십시오. 7

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.