91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP正則表達式的運用

發布時間:2020-06-14 19:04:59 來源:網絡 閱讀:204 作者:雷雪松lxs 欄目:web開發

正則表達式是PHP中一個非常重要的知識點,通常用來查找和替換字符串,驗證用戶輸入的信息格式是否符合規范,如郵件格式、電話格式等等。還有采集器之類的軟件中,正則也是必用不可!主要介紹PHP中幾個常見的正則函數:preg_match()、preg_match_all()、preg_grep()、preg_split()。

1.preg_match()
該函數通常用于表單驗證。可以按指定的正則表達式模式,對字符串進行搜索和匹配一次.該函數有兩個必選參數,第一個參數需要提供用戶按正則表達式語法編寫的模式,第二個參數需要一個字符串。如果提供了第三個可選的數組參數matches,則可以擁有保存第一個參數中的子模式的各個部分的匹配結果。

2.preg_match_all()
該函數與preg_match()函數類似,不同的是函數preg_match()在第一次匹配之后就會停止搜索。而函數preg_match_all()則會一直搜索到指定字符串的結尾,可以獲取到所有匹配到的結果。
該函數把所有可能的匹配結果放入第三個參數的數組中,并返回整個模式匹配的次數,如果出錯則返回False。如果使用了第四個參數,會根據它指定的順序將每次出現的匹配結果保存到第三個參數的數組中。第四個參數有兩個預定義的值
a.PREG_PATTERN_ORDER: 它是preg_match_all() 函數的默認值,對結果排序使$matches[0]為全部模式匹配的數組,$matches[1] 為第一個括號中的子模式所匹配的字符串組成的數組,以此類推。
b.PREG_SET_ORDER: 對結果排序是$matches[0]為第一組匹配項的數組,$matches[1]為第二組匹配項的數組,以此類推。

3.preg_grep()
該函數與前兩個函數不同的是匹配數組中的元素,返回與正則表達式匹配的數組單元。
該函數返回一個數組,其中包括了第二個參數數組中與給定的第一個參數模式相匹配的單元,對于輸出數組的每個元素,進行依稀匹配。

4.preg_replace()
該函數可執行正則表達式的搜索和替換,是一個最強大的字符串替換處理函數。
該函數的三個參數,第一個參數匹配項,二個參數被替換的參數。第三個被搜多的參數。 如果指定第四個可選參數limit ,則僅替換limit個匹配,如果生了limit 或者其值為-1,則所有的匹配項都會被替換。

5.str_replace()
該函數是PHP提高的字符串處理函數,也可以實現字符串的替換工資。雖然沒有正則表達式的替換函數功能強大,但一些簡單字符串的替換要比preg_replace()函數的執行效率高。
該函數有單個必選參數,還有一個可選參數,第一個參數是目標對象,第二個參數是替換對象,第三個是被處理的字符串,該函數在第三個參數的字符串中,以區分大小寫的方式搜索第一個參數提高的目標對象,并用第二個參數所提供的替換對象替換找到的所有實例。如果沒有在第三個參數中搜索到目標對象,則被處理的字符串保持不變。第四個是一個可選參數,變量的引用,必須傳入一個變量名稱,用來保存替換的次數。
使用str_replace()的前兩個參數不僅可以使用字符串,也可以使數組。

6.preg_split()
該函數使用了Perl兼容的正則表達式語法,可以按正則表達式的方法分割字符串。
該函數返回一個字符串數組,數組中元素包含通過第二個參數中的字符串,經第一個參數的正則表達式,作為匹配的邊界分割的子串。如果指定了第三個字符串limit,則最多返回linmit個子串。而其中最后一個元素包含了被分割后剩余的所有部分。如果limit是-1,則意味著沒有限制。 第四個參數是可選參數,
>> PREG_SPLIT_NO_EMPTY:如果設定了本標記,則preg_split()只返回非空的成分
>> PREG_SPLIT_DELIM_CAPTURE: 如果設定了本標記,定界符模式中的括號表達式也會被捕獲并返回
>> PREG_SPLIT_OFFSET_CAPTURE: 如果設定了本標記,對每個出現的匹配結果也同時返回其附屬的字符串偏移量。注意這改變了返回的數組的值,使其中的每個單元也是一個數組,其中第一項為匹配字符串,第二項為其在原字符串中的偏移量。

函數explode()
如果僅用某個特定的字符串進行分割,建議使用explode()函數,它不用去調用正則表達式引擎,因此速度是最快的。
該函數有三個參數,第一個參數提高一個分割字符或是字符串,第二個參數是被分割的字符串,如果提供第三個可選參數limit,則指定最多將字符串分割為多少個子串。該函數返回一個由被分割的子字符串組成的數組。

函數 implode()
與分割字符串相對應的是implode()函數,把數組中所有元素組合為一個字符串。函數join()為該函數的別名。
該函數有兩個參數,第一個參數提高一個鏈接字符或字符串,第二個參數指定一個被鏈接的數組。

附:什么是正則表達式?

標簽:PHP編程
來源:PHP正則表達式的運用

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湟中县| 庆安县| 莆田市| 定远县| 襄汾县| 广南县| 无为县| 保德县| 荥经县| 金门县| 花莲市| 原阳县| 长葛市| 仁怀市| 中江县| 思南县| 芦山县| 潮安县| 密山市| 三台县| 民丰县| 宁乡县| 罗平县| 利辛县| 高邑县| 锡林浩特市| 施甸县| 项城市| 长汀县| 房产| 舞阳县| 通江县| 海盐县| 五台县| 介休市| 车致| 古田县| 平武县| 土默特左旗| 寻甸| 启东市|