Time of Update: 2017-04-20
之前出現了很多Regex的符號,這篇文章將給大家匯總介紹一下所有常用符號。全部符號解釋字元 描述 \ 將下一個字元標記為一個特殊字元、或一個原義字元、或一個 反向參考、或一個八進位轉義符。例如,’n’ 匹配字元 “n”。’\n’ 匹配一個分行符號。序列 ‘\\’ 匹配 “\” 而 “\(” 則匹配 “(”。 ^ 匹配輸入字串的開始位置。如果設定了 RegExp 對象的 Multiline 屬性,^ 也匹配 ‘\n’ 或 ‘\r’ 之後的位置。 $
Time of Update: 2017-04-20
選擇 用圓括弧將所有選擇項括起來,相鄰的選擇項之間用|分隔。但用圓括弧會有一個副作用,是相關的匹配會被緩衝,此時可用?:放在第一個選項前來消除這種副作用。 其中?:是非捕獲元之一,還有兩個非捕獲元是?=和?!,這兩個還有更多的含義,前者為正向預查,在任何開始匹配圓括弧內的Regex模式的位置來匹配搜尋字串,後者為負向預查,在任何開始不匹配該Regex模式的位置來匹配搜尋字串。 後向引用
Time of Update: 2017-04-20
使用字元集可以馬上給出比精確匹配功能更加強大的Regex。字元集可以用於匹配屬於特定類型的任何字元;事實上它是一種萬用字元。一個完整的Regex由兩部分構成,元字元和文本字元。元字元就是具有特殊含義的字元,如“*”和“?”。文本字元就是普通的文本,如字母和數字等。PCRE風格的Regex一般都放置在定界符“/”中間。下面我們就來介紹一下Regex中的字元。行定位器(^和$)行定位器就是用來描述字串的邊界。"^"表示行的開始;"$"表示行的結尾。如:^tm這
Time of Update: 2017-04-20
什麼是Regex?Regex也稱模式運算式,其自身具有一套非常完整的、可以編寫入模式的文法體系,提供了一種靈活且直觀的字串處理方法。Regex通過構建特定規則的模式,與輸入的字串資訊比較,從而實現字串的匹配、尋找、替換及分割等操作。Regex並不是PHP自己的產物,在很多領域都會見到它的應用,除了在perl、C#及Java語言中應用外,我們的B/S架構軟體開發中,Linux作業系統、前台JavaScript指令碼、後台指令碼PHP以及MySQL資料庫中都可以應用到Regex。Regex文法概述R
Time of Update: 2017-04-20
1. 對URL 傳遞的參數進行編碼使用URL 傳遞參數資料,就是在 URL地址後面加上適當的參數。URL 實體對這些參數進行處理。其使用的方式如下面的格式:顯而易見,這種方法將會把參數暴露出來,安全係數較低。因此,這一章會針對該問題講述一種 URL 的編碼方式,對 URL 傳遞的參數進行編碼。 URL 編碼是一種瀏覽器用來打包表單輸入資料的格式,是對用地址欄傳遞參數進行的一種編碼規則。如在參數中帶有空格,則用 URL 傳遞參數時就會發生錯誤,而用
Time of Update: 2017-04-20
檔案域的作用是實現檔案或圖片的上傳。檔案域有一個特有的屬性,用於指定上傳的檔案類型,如果需要顯示上傳檔案的類型,則可以通過設定該屬性來完成。在實現開發過程中,檔案或者圖片上傳在一些網站應用程式中是必不可少的一部分。比如個人部落格上傳個性頭像,一些論壇分享好的學習資料等等,這就涉及到使用表單處理檔案上傳的知識,在php中
Time of Update: 2017-04-19
列表框有下拉式清單方塊和菜單列表框兩種形式,它們的基本句法都一樣。在進行網站程式設計時,下拉式清單方塊和菜單列表框的應用都非常的廣泛。可以通過下拉式清單方塊和菜單列表框實現對條件的選擇。1. 擷取下拉式清單方塊的值擷取下拉式清單方塊的值的方法非常簡單,與擷取文字框的值的類似,首先需要定義下拉式清單方塊的
Time of Update: 2017-04-19
擷取選項按鈕的值在<form>表單中,選項按鈕 radio 一般是成一組一組出現的,具有相同 name值 和不同的 value 值,在一組選項按鈕中,同一時間只可能有一個被選中。來舉一個選項按鈕 radio的例子,在這個代碼執行個體中有兩個 name = "sexy" 的選項按鈕,選中其中一個並單擊"提交"按鈕,將會返回被選中的選項按鈕的 value
Time of Update: 2017-04-19
擷取表單元素提交的值是表單應用中最基本的操作方法。本節中定義 POST()方法提交資料,對擷取表單元素提交的值進行詳細的講解。擷取文字框、密碼域、按鈕的值 擷取表單資料,實際上就是擷取不同的表單元素的資料。<form>標籤中的 name 是所有表單元素都具備的屬性,即這個表單元素的名稱,在使用時需要使用 name 屬性來擷取響應的 value 屬性值。 所以,添加的所有控制項必須定義對應的 name 屬性值。另外,控制項在命名上儘可能不要重複,以免擷取的資料出錯。
Time of Update: 2017-04-18
在寫代碼的時候,經常會遇到一個頭疼的問題,就是要在一個頁面中引入很多的類,需要用到include_once或者require_once()函數一個一個引入。當引入的內容不多時,還可以接受,但是如果有十幾個或者幾十個檔案需要引入,操作次數多,煩躁不說,還會出現重複引入或者忘了引用的情況。現在在PHP5中我們可以用__autoload()方法來解決這個問題,__autoload()方法可以自動執行個體化需要使用的類。當程式要用到一個類,但該類還沒有執行個體化時,PHP5將調用__autoload()
Time of Update: 2017-04-18
什麼是__call()魔術方法? __call是魔術方法中的一個,當程式調用到當前類中未聲明或沒許可權調用的方法時,就會調用__call方法。__call()方法包含兩個參數,即方法名和方法參數。其中,方法參數是以數組形式存在的。下面我們舉個簡單的例子協助大家理解:<?phpheader("content-type:text/html;charset=utf-8");class Sport{public function run(){echo
Time of Update: 2017-04-19
1. 在HTML標記中添加PHP指令碼在 Web 編碼的過程中,PHP是可以與HTML混合使用的嵌入式語言,可以隨時在HTML添加PHP指令碼標記<?php...?>,兩個標記之間的所有文本都會被解釋成PHP,而標記之外的任何文本都會被認為是普通的HTML。舉個例子,在<body>標記中添加PHP標識符,使用 include 語句引用外部檔案 index.php, 代碼顯示如下:<?php include(" index.php ");
Time of Update: 2017-04-18
我們都知道,在我們執行個體化一個類之後,訪問類的屬性時,都是$執行個體化名稱->屬性名稱這樣的格式去訪問,那麼你們有沒有直接用echo或者print輸出過對象試試結果呢。有的人說,這樣應該是不行的,會報錯吧。沒錯,這樣直接輸出確實會報錯,但是,當我們用了魔術方法__toString時就可以了。__toString()方法會先將對象傳化成字串在輸出,這樣就可以用echo或者print輸出了。執行個體分析:<?phpheader("content-type:text/html;
Time of Update: 2017-04-18
__set()的作用:__set():在給不可訪問屬性賦值(private,protected,不存在)時,php就會執行__set()方法。上面我們說了__set()的作用是:在給不可訪問屬性賦值(private,protected,不存在)時,php就會執行__set()方法。這個是什麼意思呢。比如說,我們還是以上面的執行個體為例。我們把猴子喜歡吃的桃子換成香蕉,但是根據規則來說,$food前面的關鍵詞是protected
Time of Update: 2017-04-18
看到這個名字,是不是有種很進階的感覺。沒錯,魔術方法確實很進階。那麼,什麼是魔術方法呢?在PHP中以兩個底線開頭的方法,被稱為"魔術方法"(Magic methods)。比如之前講過的__construct(), __destruct (), __clone(),以及__call(),,__get(), __set(),__sleep(), __wakeup(), __toString(),
Time of Update: 2017-04-18
平常在我們瀏覽網站的時候,經常會用到搜尋的功能,在搜尋資訊時,細心的使用者會發現,在搜尋結果的最下方,一般都有“搜尋時間為x秒”的字樣,這是利用PHP的microtime() 函數。microtime() 函數是返回當前UNIX時間戳記和微妙數。返回格式為mesc sec的字串,其中sec是當前的UNIX時間戳記,msec為微妙數。文法格式如下microtime(get_as_float);參數描述當設定為 TRUE 時,規定函數應該返回一個浮點數,否則返回一個字串。預設為
Time of Update: 2017-04-20
在前面我們使用了strtotime()函數,實現了比較兩個時間的大小的功能,除了可以比較兩個日期的大小外,PHP還可以精確地計算出兩個日期的差值。本章,我們還是使用strtotime()函數開發一個倒計時的功能。strtotime()函數是將任何英文文本的日期和時間解析為UNIX時間戳記,前面我們講解過了,在這裡不做過多的介紹,我們直接看代碼。倒計時小程式執行個體,代碼如下<?phpheader("Content-type:text/html;charset=utf-8"
Time of Update: 2017-04-20
在PHP開發中,我們經常會對兩個時間的大小進行判斷,但是,在PHP中,兩個時間是不可以直接進行比較,因為時間是由年、月、日、時、分、秒組成的,所以,如果需要將兩個時間進行比較的話,我們首先要做的就是將時間解析為時間戳記的格式,這就要用到我們前面學習的利用strtotime()函數將日期和時間解析為UNIX時間戳記的知識了,只有將時間轉化為時間戳記的格式,才能夠進行比較。本章就給大家講解一下,在PHP中,怎麼比較兩個時間的大小。假如現在有兩個時間:2017-4-152018-4-15我們首先就要使
Time of Update: 2017-04-18
在我們講解擷取目前時間戳執行個體的時候,我們用到了擷取目前時間和日期的date()函數,本章節,就給大家來介紹一下,擷取當前日期和時間的“date”函數。date函數的用法PHP中,使用date()函數擷取當前的時間和日期,他的文法格式如下date(format,timestamp);date()函數將返回參數timestamp按照指定格式而產生的字串,其中timestamp參數是可選的,如果不寫的話,使用當前的時間。format參數可以使開發人員按其指定的格式輸出日期。關於format的參數,
Time of Update: 2017-04-18
前幾天有一朋友要我幫做一個採集新聞資訊的程式,抽了點時間寫了個PHP版本的,隨筆記錄下。說到採集,無非就是遠程擷取資訊->提取所需內容->分類儲存->讀取->展示也算是簡單"小偷程式"的加強版吧下面是對應核心代碼(別拿去做壞事哦^_^)所要採集的內容是某遊戲網站上的公告,如:可先利用file_get_contents和簡單正則擷取基本頁面資訊整理下基本資料,採集入庫:<?php include_once("conn.php"