版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PHP正則表達式匹配函數(shù)陳學平8.3正則表達式匹配preg_match與preg_match_all函數(shù)013.1正則表達式在PHP中的應(yīng)用3.1正則表達式在PHP中的應(yīng)用在PHP應(yīng)用中,正則表達式主要用于:正則匹配:根據(jù)正則表達式匹配相應(yīng)的內(nèi)容正則替換:根據(jù)正則表達式匹配內(nèi)容并替換正則分割:根據(jù)正則表達式分割字符串在PHP中有兩類正則表達式函數(shù),一類是Perl兼容正則表達式函數(shù),一類是POSIX擴展正則表達式函數(shù)。二者差別不大,而且推薦使用Perl兼容正則表達式函數(shù),因此下文都是以Perl兼容正則表達式函數(shù)為實例說明。023.2定界符3.2定界符Perl兼容模式的正則表達式函數(shù),其正則表達式需要寫在定界符中。任何不是字母、數(shù)字或反斜線()的字符都可以作為定界符,通常使用/作為定界符。具體使用見下面的實例。注意:盡管正則表達式功能非常強大,但如果用普通字符串處理函數(shù)能完成的,就盡量不要用正則表達式函數(shù),因為正則表達式效率會低得多。3.3preg_match()函數(shù)preg_match()函數(shù)用于進行正則表達式匹配,成功返回1,否則返回0。語法:intpreg_match(stringpattern,stringsubject[,arraymatches])實例1:preg_match()函數(shù)實例代碼如下:<?phpif(preg_match("/php/i","PHPisthewebscriptinglanguageofchoice.",$matches)){3.3preg_match()函數(shù)3.3preg_match()函數(shù)preg_match()第一次匹配成功后就會停止匹配,如果要實現(xiàn)全部結(jié)果的匹配,即搜索到subject結(jié)尾處,則需使用preg_match_all()函數(shù)。實例2從一個URL中取得主機域名實例代碼如下:<?php//從URL中取得主機名preg_match("/^(http:\/\/)?([^\/]+)/i","/index.html",$matches);3.3preg_match()函數(shù)$host=$matches[2];//從主機名中取得后面兩段preg_match("/[^\.\/]+\.[^\.\/]+$/",$host,$matches);echo"域名為:{$matches[0]}";?>瀏覽器輸出:域名為:3.4
preg_match_all()函數(shù)8.3.4preg_match_all()函數(shù)preg_match_all()函數(shù)用于進行正則表達式全局匹配,成功返回整個模式匹配的次數(shù)(可能為零),如果出錯返回FALSE。語法:intpreg_match_all(stringpattern,stringsubject,arraymatches[,intflags])下面的實例演示了將文本中所有<pre></pre>標簽內(nèi)的關(guān)鍵字(php)顯示為紅色。實例3使用preg_match_all()函數(shù)設(shè)置文字實例代碼如下:<?php$str="<pre>學習php是一件快樂的事。</pre><pre>所有的phper需要共同努力!</pre>";$kw="php";preg_match_all('/<pre>([\s\S]*?)<\/pre>/',$str,$mat);for($i=0;$i<count($mat[0]);$i++){$mat[0][$i]=$mat[1][$i];3.4
preg_match_all()函數(shù)$mat[0][$i]=str_replace($kw,'<spanstyle="color:#ff0000">'.$kw.'</span>',$mat[0][$i]);$str=str_replace($mat[1][$i],$mat[0][$i],$str);}echo$str;?>輸出結(jié)果學習php是一件快樂的事。所有的phper需要共同努力!3.4
preg_match_all()函數(shù)033.5正則匹配中文漢字3.5正則匹配中文漢字正則匹配中文漢字根據(jù)頁面編碼不同而略有區(qū)別:GBK/GB2312編碼:[x80-xff]+或[xa1-xff]+UTF-8編碼:[x{4e00}-x{9fa5}]+/u實例4:正則匹配中文漢字實例代碼如下:<?php$str="學習php是一件快樂的事。";preg_match_all("/[x80-xff]+/",$str,$match);//UTF-8使用://preg_match_all("/[x{4e00}-x{9fa5}]+/u",$str,$match);print_r($match);?>3.5正則匹配中文漢字//preg_ma
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 風箏教學課程設(shè)計
- 調(diào)色實例課程設(shè)計
- 高分子生產(chǎn)工藝課程設(shè)計
- 硬件樂曲演奏課程設(shè)計
- 茶飲制作課程設(shè)計
- 欽州學院數(shù)電課程設(shè)計
- 韓國咖啡飲品課程設(shè)計
- 新教師培訓課程設(shè)計心得體會
- 國培心得體會及感想范文:培訓課程設(shè)計的最佳實踐
- 小學情感教育課程設(shè)計研究-洞察分析
- 機械年終考核述職報告
- 致客戶通知函
- 中華人民共和國職業(yè)分類大典電子版
- 各種預(yù)混料配方設(shè)計技術(shù)
- 19XR開機運行維護說明書
- 全國非煤礦山分布
- 臨床研究技術(shù)路線圖模板
- 12千伏環(huán)網(wǎng)柜(箱)標準化設(shè)計定制方案(2019版)
- 思想品德鑒定表(學生模板)
- 滿堂支架計算
- MA5680T開局配置
評論
0/150
提交評論