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 "一 | "; echo "二 | "; echo "三 | "; echo "四 | "; echo "五 | "; echo "六 | "; echo "{$i} | "; } $i++; } echo ""; } 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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



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

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

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

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

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,

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

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 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.
