熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP網絡編程:PHP處理正則表達式[1]

2013-11-15 12:42:04  來源: PHP編程 
    ——此文章摘自《PHP網絡編程典型模塊與實例精講》定價 特價  詳細>>http://tracklinktechcn/?m_id=dangdang&a_id=A&l=&l_type= width= height= border= nosave>

  PHP中的正則表達式即一個模式字符串模式字符串以/開始且以/結束(頭尾的/稱為模式定界符)PHP中主要提供了幾個以preg_為前綴的正則表達式操作函數其中較為常用的有preg_match()preg_replace()和 preg_split()

  preg_match()函數常用的調用原型是

http://developcsaicn/web/images/gif>

  preg_match()函數在subject字符串中搜索與pattern給出的正則表達式相匹配的內容如果提供了matches則matches被搜索的結果所填充$matches[]將包含與整個模式匹配的文本$matches[]將包含與第一個捕獲的圓括號中的子模式所匹配的文本依次類推preg_match()返回pattern所匹配的次數次(沒有匹配)或者因為preg_match()在第一次匹配之後將停止搜索如果出錯preg_match()返回false

  下面是一個使用preg_match()的例子

http://developcsaicn/web/images/gif>

  本例的輸出結果將是URL中的主機名是wwwphpnet

  preg_replace()函數用於執行正則表達式的搜索和替換其調用原型是

http://developcsaicn/web/images/gif>

  preg_replace()函數在subject中搜索pattern模式的匹配項並替換為replacement如果指定了limit則僅替換limit個匹配項如果省略limit或者其值為則所有的匹配項都會被替換

  replacement可以包含\$n形式的逆向引用每個此種引用將被替換為與第n個被捕獲的括號內的子模式所匹配的文本n可以從取值范圍為~其中$指的是被整個模式所匹配的文本對左圓括號從左到右計數(從開始)以取得子模式的數目當替換模式在一個逆向引用後面緊接著一個數字時應當使用花括號來化解歧義如逆向引用第一個子串$後接一個數字的情況如果使用$則為引用第個子串所以應該用${}這樣就形成一個隔離的$逆向引用而使另一個只是單純的文字

  preg_replace()如果搜索到匹配項則會返回被替換後的subject否則返回原來不變的subject

right>[]  [http://developcsaicn/web/htm>]  [http://developcsaicn/web/htm>]  


From:http://tw.wingwit.com/Article/program/PHP/201311/21438.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.