PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 2.PHP正則表達式匹配函數(shù)_第1頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 2.PHP正則表達式匹配函數(shù)_第2頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 2.PHP正則表達式匹配函數(shù)_第3頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 2.PHP正則表達式匹配函數(shù)_第4頁
PHP程序設(shè)計基礎(chǔ)(微課版)(第2版)課件 2.PHP正則表達式匹配函數(shù)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論