Jadual Kandungan
{$year}年{$month}月
Rumah pembangunan bahagian belakang tutorial php PHP第九课 正则表达式在PHP中的使用

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

Jun 23, 2016 pm 01:51 PM
php ungkapan biasa

今天内容
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 "
Salin selepas log masuk
"; ?>






//匹配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 "
Salin selepas log masuk
"; ?>


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


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 "
Salin selepas log masuk
"; ?>



 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 "
Salin selepas log masuk
"; ?>



模式修正符


<?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 "
Salin selepas log masuk
"; ?>





 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 "
Salin selepas log masuk
"; ?>





向后引用
 <?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 "
Salin selepas log masuk
"; ?>

 


五个常用函数


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 "
Salin selepas log masuk
"; ?>



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


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





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); ?>
Salin selepas log masuk


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





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




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




 注意:如果每个改比较麻烦的话,就直接去修改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); ?>
Salin selepas log masuk




 microtime() 微秒


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




 实例:万年历


 万年历技术点
 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 "
Salin selepas log masuk
"; //输出第一行 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



Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles