主頁 > 知識庫 > 關(guān)于preg_replace函數(shù)的問題講解

關(guān)于preg_replace函數(shù)的問題講解

熱門標(biāo)簽:阿里云 服務(wù)器配置 銀行業(yè)務(wù) Linux服務(wù)器 Mysql連接數(shù)設(shè)置 科大訊飛語音識別系統(tǒng) 電子圍欄 團購網(wǎng)站
請問下那此句語句的作用。給我解釋一下其中的“?”,“e","i","s"符號分別是什么意思,和它們起到了什么作用。還有就是除了"/eis”外還有其他什么模式了嗎?   
  如果有相關(guān)的學(xué)習(xí)資料可以給我嗎?謝謝,各位的幫助!謝謝。   

  $post=preg_replace("/\[html\](.+?)\[\/html\]/eis","htmlcode('\\1')",$post); 
修飾符:   
          在正則表達(dá)式里面的修飾符可以改變正則的很多特性,使得正則表達(dá)式更加適合你的需要(注意:修飾符對于大小寫是敏感的,這意味著"e"并不等于"E")。正則表達(dá)式里面的修飾符如下:     
  i   :如果在修飾符中加上"i",則正則將會取消大小寫敏感性,即"a"和"A"   是一樣的。     
  m:默認(rèn)的正則開始"^"和結(jié)束"$"只是對于正則字符串如果在修飾符中加上"m",那么開始和結(jié)束將會指字符串的每一行:每一行的開頭就是"^",結(jié)尾就是"$"。     
  s:如果在修飾符中加入"s",那么默認(rèn)的"."代表除了換行符以外的任何字符將會變成任意字符,也就是包括換行符!     
  x:如果加上該修飾符,表達(dá)式中的空白字符將會被忽略,除非它已經(jīng)被轉(zhuǎn)義。     
  e:本修飾符僅僅對于replacement有用,代表在replacement中作為PHP代碼。     
  A:如果使用這個修飾符,那么表達(dá)式必須是匹配的字符串中的開頭部分。比如說"/a/A"匹配"abcd"。     
  E:與"m"相反,如果使用這個修飾符,那么"$"將匹配絕對字符串的結(jié)尾,而不是換行符前面,默認(rèn)就打開了這個模式。     
  U:和問號的作用差不多,用于設(shè)置"貪婪模式"。   

?表單非貪婪匹配,即盡可能少的匹配

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
中間的內(nèi)容   
  e表示可以使用函數(shù)來處理向后引后的子匹配部分   
  i表未不區(qū)分大小寫,   
  s表示.也匹配換行符   
假設(shè)有如下字符串   
  

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
   
  使用/\[html\](.+?)\[\/html\]/和使用[html\](.+)\[\/html\]/U的結(jié)果是一樣的,   
  都是代表非貪婪,只不過一個用了修正符,一個用了語法。   
  結(jié)果是

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
   
  兩個匹配,   
  而/\[html\](.+)\[\/html\]/的結(jié)果是   
  

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
一個匹配   
  因為整個字符也是符合以"

[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
"結(jié)尾,只不過是獲得更多的字符串 

標(biāo)簽:衡水 衢州 萍鄉(xiāng) 蚌埠 大理 棗莊 廣元 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《關(guān)于preg_replace函數(shù)的問題講解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266