PHP day 02

0x08 正則表達式
1.行定位符

^		開始
$		結尾

2.單詞定界符

\b 		查找一個完整的單詞
\B 		與\b相反

3.字符類

[]		單字符匹配

4.選擇字符

|

5.連字符

-		[a-zA-Z]

6.排除字符

[^]

7.限定符

?		匹配前面的字符零次或一次
+		匹配前面的字符一次或多次
*		匹配前面的字符零次或多次
{n,m}	匹配前面的字符[n,m]次

8.點號字符

.		匹配除換行符外任意一個字符

9.轉義字符

\		匹配ip地址,[0-9]{1,3}(\.[0-9]{1,3}){3}

10.反斜線
顯示不可打印的字符

\a 		警報,<BEL>
\b 		退格,<BS>
\e 		Escape,<ESC>
\f 		換頁符,<FF>
\n 		換行符,<LF>
\r 		回車符,<CR>
\t 		水平製表符,<HT>
\xhh	十六進制代碼
\ddd	八進制代碼
\cx		control-x,由x指名控制字符

預定義字符集

\d 		任意一個十進制數字,相當於[0-9]
\D 		任意一個非十進制數字
\s 		任意一個空白字符,相當於[\f\n\r\t]
\S 		任意一個非空白字符
\w 		任意一個單詞字符,相當於[a-zA-Z0-9]
\W 		任意一個非單詞字符

限定符

\b 		單詞分界符
\B 		非單詞分界符
\A 		匹配待搜索文本的起始位置
\z 		只匹配字符串的末尾,而不考慮任何換行符
\Z 		匹配字符串的末尾位置,或者是在字符串末尾的換行符之前的位置
\G		當前匹配的起始位置

11.括號字符

改變限定符的作用範圍
分組
反向引用

12.模式修飾符

i 		忽略大小寫模式
M 		多文本模式,子串內部有多個換行符時,影響"^"和"$"的匹配
s 		單文本模式,在此模式下,元字符點號(.)可以匹配換行符。其他模式不能匹配換行符
X 		忽略空白字符

0x09 POSIX擴展正則表達式函數
1.ereg()函數和eregi()函數

bool ereg/eregi ( string pattern, string string [, array regs] )
# 在string中匹配pattern,若成功返回true,失敗返回false。子串存儲到regs數組中
# eregi不區分大小寫

2.ereg_replace()函數和eregi_replace()函數

string ereg_replace/eregi_replace ( string pattern, string replacement, string string )
# 在字符串string中匹配pattern。如果成功,則替換爲replacement。
# eregi_replace()不區分大小寫

3.split()函數和spliti()函數

array split/spliti ( string pattern, string string [, int limit] )
# 通過pattern分隔字符串string,limit代表分割上限數量
# spliti()不區分大小寫

0x10 PCRE兼容正則表達式函數
1.preg_grep()函數

array preg_grep ( string pattern, array input )
# 將數組中的每一個元素跟pattern進行匹配,將匹配命中的元素組成一個新數組並返回

2.preg_match()函數和preg_match_all()函數

int preg_match/preg_match_all ( string pattern, string subject [, array matches] )
# 在字符串subject中匹配pattern,返回命中次數。匹配結果存入matches中
# preg_match()匹配中一次即停止,preg_match_all()會匹配到最後,必須有參數matches

3.preg_quote()函數

string preg_quote ( string str [, string delimiter] )
# 將str中所有特殊字符進行轉義,delimiter爲自定義特殊字符

4.preg_replace()函數

mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
# 在字符串subject中匹配pattern,將命中項替換爲replacement,limit爲替換次數

5.preg_replace_callback()函數

mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )
# 與preg_replace()函數功能相同,replacement用函數callback替換,即可用函數結果作爲替換值

6.preg_split()函數

array preg_split ( string pattern, string subject [, int limit ] )
# 使用pattern分隔字符串subject,limit爲數組元素上限個數

0x11 數組
1.數組類型
數字索引數組、關聯數組
2.數組遍歷

foreach()、list()
foreach操作數組的一個備份,list函數僅能用於數字索引數組

3.字符串與數組的轉換

array explode(string separator, string string, [int limit])
將字符串string以seperator爲分隔符進行分隔,變成數組。
string implode(string glue, array pieces)
將數組pieces用glue連接起來。

4.數組元素個數

int count ( mixed array [, int mode])

5.查詢數組中的指定元素

mixed array_search ( mixed needle, array haystack [, bool strict])
#在數組haystack中搜索needle,strict檢查類型,若找到返回鍵名

6.獲取數組中最後一個元素

mixed array_pop(array array)

7.向數組中添加元素

int array_push ( array array, mixed var [, mixed ...])
#將var添加到array中

8.刪除數組中重複元素

array array_unique ( array array)

0x12 表單
1.創建表單

<form name="form_name"  method="method" action="url"  enctype="value"  target="target_win"></form >

2.表單元素
輸入域標記

<input name="file_name"  type="type_name">
text、password、file、image、radio、checkbox、submit、reset、button、hidden

選擇域標記

<select name="name" size="value" multiple>
	<option value="value" selected>選項1</option>
	<option value="value">選項2</option>
	<option value="value">選項3</option>
</select>

文字域標記

<textarea name="name" rows=value cols=value value="value" warp="value">
	…文本內容
</textarea>

3.表單傳輸方式
POST 不依賴於URL,不限制數據傳輸,後臺傳輸安全性高
GET 依賴於URL,限制數據傳輸大小,顯示URL+用戶傳遞的參數。
4.參數傳遞方法

$_POST[]、$_GET[]、$_SESSION[]

0x13 Cookie&Session
1.創建Cookie

bool setcookie(string name[,string value[,int expire[, string path[,string domain[,int secure]]]]])
#cookie變量名name;cookie變量值value;expire爲cookie失效時間單位爲秒。
#path爲cookie在domain下有效的範圍,默認是當前目錄;domain爲cookie有效的域名,儘量最小化。
#secure值是否僅通過HTTPS連接有效,1爲是,0爲否。

2.cookie的生命週期
若不設置過期時間,只有關閉瀏覽器時,cookie纔會消失。
cookie保存在內存中,不保存在磁盤上。
3.創建Session

bool session_start(void) ;		#創建會話
$_SESSION['admin'] = 'admin';	#註冊會話,給變量賦值
if(!empty($_SESSION['admin']))	#判斷是否爲空
	$a=$_SESSION['admin'];		#將會話變量賦值給$a

4.Session緩存

string session_cache_limiter ( [string cache_limiter])
#使用
int session_cache_expire ( [int new_cache_expire])
#緩存單位爲分鐘
bool session_set_save_handler ( string open, string close, string read, string write, string destroy, string gc)
<!-- 
參數								說明
session_open(save_path,session_name) 	找到Session存儲地址,取出變量名稱 
session_close() 						不需要參數,關閉數據庫 
session_read(key) 						讀取Session鍵值,key對應session_id 
session_write(key,data) 				其中data對應設置的Session變量 
session_destroy(key) 					註銷Session對應Session鍵值 
session_gc(expiry_time) 				清除過期Session記錄  
-->
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章