-
-
$sub = "bbs.it-home.org";
$ptn = '/w*.w*.w*/';
// 正規表示式,元資料,傳回的資料
- preg_match($ptn, $sub,$ mats);
-
echo "
";
- print_r($mats);
- echo "";
- ?>
- //匹配ip
-
$str = "my ip is 192.168.10.1sdjlfajdf192.178.39.4la";
$ptn = '/d .d .d .d /';
- preg_match_all($ptn, $str,$mats);
-
echo "
";
- print_r($mats);
- echo "";
?>
-
-
複製程式碼
模式修正符,放在正規表示式的最後面
i,m,s,u,e
i :忽略大小寫
m :視為多行
s :視為一行
u :貪婪模式,最大模式
e :替換的時候用的,可以用函數加工,用來匹配正規表示式中的第一個圓括號
-
-
$str = "Linux and php are lamp or linux is very much";
- $ptn = '/linux/ i';
- preg_match_all($ptn, $str,$mats);
- echo "
";
- print_r($mats);
- echo "";
- ?>
複製程式碼
m例子
m視為多行
-
-
$str = "Linux and php are lamp or nlinux is very much";
- $ptn = '/^linux /im';
- preg_match_all($ptn, $str,$mats);
- echo "
";
- print_r($mats);
- echo "";
- ?>
複製程式碼
模式修正符
-
-
$str = "Linux and php are lamp or nlinux is very much";
- $ptn = '/.* /s';
- preg_match_all($ptn, $str,$mats);
- echo "
";
- print_r($mats);
- echo "";
- ?>
複製程式碼
e的使用
-
-
$str = "123 php";
- $ptn = '/d s(w )/e';
- $rep = 'strtoupper($1)';
- // preg_match_all($ptn, $str,$mats);
- $str2 = preg_replace($ptn, $rep, $str);
- echo "
";
- print_r($str2);
- echo "";
- ?>
複製程式碼
複製程式碼
向後引用
-
-
-
-
-
-
$str = "123 php";
- $ptn = '/(d )(s)(w )/ ';
- $rep = '$3$2$1';
- // preg_match_all($ptn, $str,$mats);
- $str2 = preg_replace($ptn, $rep, $str);
echo " ";
print_r($str2); echo ""; ?>
複製代碼
五個常用函數
1.字串的匹配與替換
preg_match();
preg_match_all();
preg_grep();做搜索
2.字串的替換
preg_replace();
3.字串的分割
preg_split();
eval讓字串表達式能夠執行
preg_grep實例,做搜尋:
-
-
-
-
-
-
//例如代表文章
- $arr = array(
- "php html",
- " linux redhat rhce",
- "junzaivip test php",
- );
- //需要搜尋的內容
- $ptn = '/junzaivip/';
- //回傳搜尋到的內容
- $arr2 = preg_grep($ptn, $arr);
echo " ";
print_r($arr2); echo ""; ?>
複製程式碼
4.數學函數
1.max();
2.min();
注意:1.由多個數字,2,多個數字組成的數組
-
-
-
-
-
-
echo max(3,45,6,7);
echo " "; echo max(array(4,6,8,9)); ?> 複製程式碼5.日期函數
1.time();
2.date(); //把時間戳記轉換為日期
3.strtotime();//把日期轉換成時間戳
4.microtime();
-
- //calc開啟計算器
- 時間的起源點:
-
echo time();
- echo "
";
- echo date("Y-m-d H:i-s w t",0);
- ?>
複製程式碼
時間轉換為時間戳
-
-
cho strtotime("2014-12-12");
- ?>
複製代碼
計算當前時間的具體日期:
-
-
echo date("Y-m-d H:i:s",time() 8*3600);
- ?>
複製程式碼
透過修改時區來找出目前日期:
-
-
//設定中國的時區為預設時區
- date_default_timezone_set("PRC"); 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整除,此時它就是閏年
-
//設定中國的時區為預設時區
- date_default_timezone_set("PRC"); 🎜>$y = "1900/1/1";
- $time = strtotime($y);
echo date("L",$time);
- ? >
-
-
-
-
複製程式碼
microtime() 微秒
計算腳本的運行時間:
$stime = microtime(1);//注意這個位置必須用true,否者無法參與計算- sleep (1);
- $etime = microtime(1);
- echo $etime - $stime;
- ?>
-
-
複製程式碼
實例:萬年曆
萬年曆技術點
1.幾年幾月幾日
2.週日到週六
3.1號是星期幾
4.這個月有多少天
5.下一年和前一年
6.下一月和上一月
萬年曆代碼:
-
-
//修改字元編碼
- //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 " ";
- //輸出表頭
- echo "
{$year}年{$month}月";
- //輸出日期表格
- echo "
"; - //輸出第一行
- echo "
"; - //表頭單元格由th來建立
- echo "日";
- echo "
一 | ";
- echo "
二 | ";
- echo "
三 th>"; - echo "
四 | ";
- echo "
五 | ";
- echo "
六 | ";
- echo "
|
";
- //開始鋪表格
- for($i = 1 - $weeks;$i echo "
"; - for ($j=0; $j if ($i > $days || $i echo "
| " ;
- } else{
- echo "
{$i} | ";
- }
- $i ;
- }
- echo "
";
- }
echo "
";
- //實作一下上一和上一月
- if($month == 1){
- $prevyear = $year - 1;
- $prevmonth = 12;
- } else{
- $prevyear = $year;
- $prevmonth = $month -1;
- }
- }
- $prevmonth = $month -1;
- }
- if($month == 12){
- $nextyear = $year 1;
- $nextmonth = 1;
- } else{
- $nextyear = $year;
- $nextmonth = $monthmonth = $month 1;
- }
//輸出上一月和下一月的按鈕
- echo "";
echo ""; ?>
複製程式碼
PHP的錯誤處理
1.關閉和開啟報錯
2.錯誤報告級別
3.錯誤回報地方
1)、關閉和開啟報錯
E_ALL
E_ERROR //嚴重錯誤
E_WARNING //警告錯誤
E_PARSE//語法錯誤
E_NOTICE //提示錯誤
2)、關閉錯誤
display_error = off
報什麼等級的錯誤:
|
error_reporting = E_ALL
error_reporting = E_ALL & ~E_NOTICE //報所有錯誤,但是除了提示錯誤
3)、報錯地方: