


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、PHP開發(fā)必用知識(shí)點(diǎn)總結(jié),函數(shù)一覽,開發(fā)必背魔術(shù)方法_construct()當(dāng)實(shí)例化一個(gè)對(duì)象的時(shí)候,這個(gè)對(duì)象的這個(gè)方法首先被調(diào)用。_destruct()當(dāng)刪除一個(gè)對(duì)象或?qū)ο蟛僮鹘K止的時(shí)候,調(diào)用該方法。_get()當(dāng)試圖讀取一個(gè)并不存在的屬性的時(shí)候被調(diào)用。_set()當(dāng)試圖向一個(gè)并不存在的屬性寫入值的時(shí)候被調(diào)用。_call()當(dāng)試圖調(diào)用一個(gè)對(duì)象并不存在的方法時(shí),調(diào)用該方法。_toString()當(dāng)打印一個(gè)對(duì)象的時(shí)候被調(diào)用_clone()當(dāng)對(duì)象被克隆時(shí),被調(diào)用_isset()_un set()_autoload($class name)_sleep()_wakeup()系統(tǒng)常量_FILE_ 當(dāng)前文
2、件名_LINE_當(dāng)前行數(shù)_FUNCTION_ 當(dāng)前函數(shù)名_CLASS_當(dāng)前類名_METHOD_當(dāng)前對(duì)象的方法名PHP_OS當(dāng)前系統(tǒng)PHP_VERSION php 版本DIRECTORY_SEPARATOR 根據(jù)系統(tǒng)決定目錄的分隔符八PATH_SEPARATOR根據(jù)系統(tǒng)決定環(huán)境變量的目錄列表分隔符;:E_ERROR 1E_WARNING 2E_PARSE4E_NOTICE 8M_PI 3.141592$_SERVER$_ENV執(zhí)行環(huán)境提交至腳本的變量$_GET$_POST$_REQUEST$_FILES$_COOKIE$_SESSION$_GLOBALS輸出echo /Output one or
3、 more stri ngsprint /Output a stri ngprint_r()II打印關(guān)于變量的易于理解的信息。var_dump()/打印變量的相關(guān)信息var_export()/輸出或返回一個(gè)變量的字符串表示prin tf("%.1f",$ num) /Output a formatted stri ngspri ntf() /Return a formatted stri ng編碼轉(zhuǎn)換stri ng mb_con vert_e ncod ing ( stri ng $str , stri ng $to_e ncodi ng , mixed $from_e n
4、codi ng ) icon v();時(shí)間date_default_timezo ne_set("PRC");date("Y-m-d H:i:s");time();date("Y-m-d H:i:s",time()+3600)ini_set('date.timezone', 'PRC');msec sec microtime() 以秒返回時(shí)間戳explode(' ', microtime()錯(cuò)誤處理1/0error_report in g(E_ALL)顯示所有錯(cuò)誤error_report
5、 in g(0)trigger_error("Ca nnot divide by zero", E_USER_ERROR);trythrow new Exception( 執(zhí)行失敗");catch (Excepti on $ex)echo $ex;字符串處理stri ng trim("eee ") trim ('ffffe','e') /ltrim rtrimarray explode(".", "fff.ff.f")按指定字符切割string implode("
6、.", $array) 別名:join把數(shù)組值數(shù)據(jù)按指定字符連接起來array str_split("eeeeeeee",4)按長度切割字符串a(chǎn)rray split("-","fff-ff-f")按指定字符切割int strle n('ffffffff)取字符長度stri ng substr ( stri ng $stri ng , int $start , i nt $le ngth )substr($a,-2, 2)截取字符int substr_count($text, 'is')字符串出現(xiàn)的次數(shù)
7、string strstr($text, 'h')第一次出現(xiàn) h后的字符串別名:strchrint strpos($text, 'h')第一次出現(xiàn) h 的位置strrpos();最后一次出現(xiàn)h的位置str_replace('a', 'ttt', $t)把$t 里的'a替換為'ttt'strtr($t,'is','ppp')把$t 中'is'替換成'ppp'strtr("hi all, I said hello", array
8、("hello" => "hi") 把'hello'轉(zhuǎn)換成'hi'string md5_file('1.txt',false)文件數(shù)據(jù) md5 加密int strcmp(string str1, string str2) 字符串比較int strcasecmp(string str1, string str2) 忽略大小寫string str_pad($i, 10, "-=", STR_PAD_LEFT)在原字符左邊補(bǔ)'-=',直到新字符串長度為10STR_PAD_
9、RIGHTSTR_PAD_BOTHstring str_repeat('1', 5)重復(fù) 5 個(gè) 1void parse_str('id=11'); echo $id;將字串符解析為變量array preg_grep(""(d+)?.d+$/", array(11.2,11,11.2) 匹配數(shù)據(jù)array preg_split ("/s,+/", "hypertext la nguage,program min g");按指定的字符切割array pathi nfo(stri ng path
10、, i nt opti on s)返回文件路徑的信息stri ng base name ( stri ng path , stri ng suffix) 返回路徑中的文件名局部stri ng dirname ( stri ng path ) $_SERVERPHP_SELF 返回路徑中的目錄局部string nl2br("foo isn'tn bar") "foo isn't<br> bar"把換行轉(zhuǎn)成 <br>stri ng chr ( int ascii )mixed str_word_co unt ( str
11、i ng stri ng , i nt format , stri ng charlist)string str_shuffle ('abc')打亂字符串順序string strrev($str) *stri ng strtolower($str) * stri ng strtoupper($str) *stri ng ucfirst ($str) 1 stri ng ucwords($str)翻轉(zhuǎn)一個(gè)字符串將字符串$str的字符全部轉(zhuǎn)換為小寫的將字符串$str的字符全部轉(zhuǎn)換為大寫的 將字符串$str的第一個(gè)單詞的首字母變?yōu)榇髮?。string addslashes("
12、I'm") I'm使用反斜線引用字符串這些字符是單引號(hào)'、雙引號(hào)、將字符串$str的每個(gè)單詞的首字母變?yōu)榇髮憽7葱本€丨與NUL NULL字符string stripcslashes("I'm") rm 將用addslashes()函數(shù)處理后的字符串返回原樣 strip_tags("<p>tt</p>", '<p>') 去除 html、xml、php 標(biāo)記,第二個(gè)參數(shù)用來保存標(biāo)記 string urlencode(string str)string urldeco
13、de(string str)stri ng htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES)轉(zhuǎn)換特殊字符為 HTML字符編碼<a href= 'test'>Test</a>ENT_COMPAT -對(duì)雙引號(hào)進(jìn)展編碼,不對(duì)單引號(hào)進(jìn)展編碼ENT_QUOTES -對(duì)單引號(hào)和雙引號(hào)進(jìn)展編碼 ENT_NOQUOTES -不對(duì)單引號(hào)或雙引號(hào)進(jìn)展編碼string htmlentities('
14、<p>ff</p>', ENT_QUOTES)轉(zhuǎn)換特殊字符為 HTML 字符編碼,中文 會(huì)轉(zhuǎn)成亂碼數(shù)組處理int count( mixed var , int mode) 別名:sizeof()取數(shù)組長度string implode(".", $array) 別名:join把數(shù)組值數(shù)據(jù)按指定字符連接起來array explode(".", "fff.ff.f")按指定字符切割array range(0, 6, 2)返回?cái)?shù)組array(0,2,4,6)第一個(gè)參數(shù)為起使數(shù),第二個(gè)參數(shù)為完畢 數(shù),第三個(gè)參數(shù)為
15、數(shù)據(jù)增加步長int array_push($a, "3", 1)把3、1'壓入$a將一個(gè)或多個(gè)單元壓入數(shù)組的末尾入棧 第二個(gè)參數(shù)開始就是壓入的數(shù)據(jù)void un set ( mixed var , mixed var ,.)array array_pad ($a, 5, 's')用's將數(shù)組填補(bǔ)到指定長度bool shuffle ( array $array )將數(shù)組打亂mixed array_ra nd ( array in put , i nt num_req)從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)單元的索引或鍵名array array_cou nt
16、_values ( array in put )統(tǒng)計(jì)數(shù)組中所有的值出現(xiàn)的次數(shù)array array_combine ( array keys, array values ) 創(chuàng)立一個(gè)數(shù)組,用一個(gè)數(shù)組的值作為其鍵名,另一個(gè)數(shù)組的值作為其值bool array_key_exists ( mixed key, array search )檢查給定的鍵名或索引是否存在于數(shù)組 中-mixed array_search ( mixed needle, array haystack , bool strict) 在數(shù)組中搜索給定的值, 如果成功那么返回相應(yīng)的鍵名bool is_array ( mixed v
17、ar )bool in_array ( mixed needle, array haystack , bool strict)檢查數(shù)組中是否存在某個(gè)值nu mber array_sum ( array array )計(jì)算數(shù)組中所有值的禾口 array array_unique ( array array )移除數(shù)組中重復(fù)的值 mixed reset ( array &array )將數(shù)組的部指針指向第一個(gè)單元 mixed curre nt ( array &array ) mixed n ext ( array &array ) mixed prev ( array &
18、amp;array ) mixed end ( array &array ) mixed key ( array &array )array array_keys ( array in put , mixed search_value , bool strict)返回?cái)?shù)組中所有的鍵名-array array_values ( array in put ) 返回?cái)?shù)組中所有的值bool prin t_r ( mixed expressi on , bool retur n)void var_dump ( mixed expressi on , mixed expressi on ,
19、.)int array_ un shift ( array &array, mixed var , mixed .) 在數(shù)組開頭插入一個(gè)或多個(gè)單元 mixed array_shift ( array &array )將數(shù)組開頭的單元移出數(shù)組 mixed array_pop ( array &array )將數(shù)組最后一個(gè)單元彈出出棧array array_splice ( array $in put, int offset , i nt len gth , array replaceme nt)把數(shù)組中的一局部去掉并用其它值取代array array_merge ( ar
20、ray arrayl , array array2 , array .) 合并一個(gè)或多個(gè)數(shù)組array array_flip ( array trans )交換數(shù)組中的鍵和值int extract( array var_array , i nt extract_type , stri ng prefix)從數(shù)組中將變量導(dǎo)入至 U當(dāng)前的符號(hào)表array compact ( mixed varname , mixed)建立一個(gè)數(shù)組,包括變量名和它們的值bool sort ( array &array , int sort_flags)從最低到最高重新安排bool natsort($a)用“
21、自然排序"算法對(duì)數(shù)組排序bool rsort ( array &array , int sort_flags)對(duì)數(shù)組進(jìn)展逆向排序最高到最低bool asort ( array &array , int sort_flags)對(duì)數(shù)組進(jìn)展排序并保持索引關(guān)系bool arsort ( array &array , i nt sort_flags)對(duì)數(shù)組進(jìn)展逆向排序并保持索引關(guān)系bool ksort ( array &array , int sort_flags) 對(duì)數(shù)組按照鍵名排序bool krsort ( array &array , i nt s
22、ort_flags) 對(duì)數(shù)組按照鍵名逆向排序array array_filter ( array in put , callback callback)用回調(diào)函數(shù)過濾數(shù)組中的單元bool array_walk ( array &array, callback funcn ame , mixed userdata)對(duì)數(shù)組中的每個(gè)成員應(yīng)用用戶函數(shù)array array_ map ( callback callback, array arr1 , array )將回調(diào)函數(shù)作用到給定數(shù)組的單元上array array_fill ( int start_ in dex, int num, mix
23、ed value )用給定的值填充數(shù)組array_fill(5, 3, 'a')->array(5=>'a',6=>'a',7=>'a')array array_chu nk ( array in put, i nt size , bool preserve_keys) 將一個(gè)數(shù)組分割成多個(gè)其他isset()變量是否存在boolean empty()檢查變量是否存在,并判斷值是否為非空或非 0void unset()銷毀變量header('C onten t-Type: text/html; cha
24、rset=utf-8');method_exists($obj, $method)判斷對(duì)象的方法是否可用file_exists($file)判斷文件是否存在fun ctio n_exists();class_exists($class_ name);gettype();獲取數(shù)據(jù)類型set_magic_quotes_ru ntime() 0 for off, 1 for on當(dāng)遇到反斜桿、單引號(hào),將會(huì)自動(dòng)加上一個(gè)反斜桿,保護(hù)系統(tǒng)和數(shù)據(jù)庫的平安in i_set();平安function strReplace($str)$strResult = $str;if(!get_magic_quot
25、es_gpc() 判斷設(shè)置是否開啟$strResult = addslashes($strResult);轉(zhuǎn)換 sql 語句特殊字符retur n $strResult;function quotes($c ontent)如果 magic_quotes_gpc=Off,那么就開始處理if (!get_magic_quotes_gpc()/判斷$content是否為數(shù)組if (is_array($c onten t)如果$content是數(shù)組,那么就處理它的每一個(gè)單無foreach ($c ontent as $key=>$value)$conten t$key = addslashes(
26、$value);else如果$content不是數(shù)組,那么就僅處理一次 addslashes($c onten t);返回 $contentretur n $content; smarty模板引擎將不分析<!-literal-><script>function t() </script><!-/literal->讀取配置文件<!-c on fig_load file="c on fig.s"-><!-#site_url#-><!-$smarty.c on fig.site_url->引入文件
27、<!- in clude file="i ndex2.html"-指定目錄下的文件<!-i nclude_php file="/path/to/load_ nav.php"-> $trusted_dir捕獲模板輸出的數(shù)據(jù)<!-capture n ame='eee'-> fffffffff<!_/capture_><!-$smarty.capture.eee->循環(huán)<sect ion n ame=loop loop=$News_IN><$News_INloop.News
28、lD></sect ion><!-sect ion n ame=t loop=$data-><tr><td><!-$datat.username-></td></tr><!-/sectio n-><foreach from=$ newsArray item=n ewsID key=k>新聞編號(hào):<$ newsID. newslD><br> 新聞容:<$ newsID. newsTitle><br><hr></fore
29、ach>判斷<!-if true->1111<!-else->22222222<!-/if->時(shí)間$smarty. no w|date_format:"%Y-%m-%d %H:%M:%S"%Y年%m月%d日亂碼<!-$smarty.now|date_format:"%Y 年%m 月 %d 日 %H 時(shí)%M 分 %S 秒"-> 修改插件:$format = mb_con vert_e ncod in g($format,'gbk','utf-8');retur n mb_
30、c on vert_e ncodi ng(strftime($format, $timestamp),'utf-8','gbk');局部不緩存html:<!-$smarty. no w|date_format:"%Y-%m-%d %H:%M:%S"-><!-cacheless a="aaa" b="bbbb"-><!-$smarty. no w|date_format:"%Y-%m-%d %H:%M:%S"-><!-/cacheless-&g
31、t;php:$smarty->register_block('cacheless', 'smarty_block_dynamic', false);/true:緩存, false:不緩存function smarty_block_dy namic($param, $content, &$smarty)return $content;php:function insert_kk() 方法名前必須有"insert" return date('Y-m-d H:i:s');html:<!-i nsert n ame
32、="kk"_>自定義方法注冊方法php$smarty->register_fu nction ('test1', 'test'); function test($p)return 'ffffffffff;html:<!-test1 n ame="ff"->方法自定義插件文件方式定義方法方法名function .test.php文 件存在 plugins 目錄下smarty_fu nction _test($params, &$smarty)function smarty_fu nct
33、ion _test($params, &$smarty)return 'fff;html調(diào)用:<!-test n ame='aa' p='ff_>插入方法插件文件:文件存于plug ins目錄下 function smarty_ in sert_kk()return date('Y-m-d H:i:s');php:function insert_kk()/ 方法名前必須有"insert" return date('Y-m-d H:i:s');html:<!-i nsert n ame=
34、"kk"->管道符自定義方法 插件文件方式定義方法fun ctio nmodifier.test.php 文件 存在于 plug ins 目 錄下,方法名 smarty_modifier_test($str, $str2)function smarty_modifier_test($str, $str2)return $str.$str2;html調(diào)用:<!-'ff|test:'tt'->php:function eee($a)return 'ffffffffffffff;html:<!-|eee->if語句eq
35、相等,ne、neq不相等,gt大于gte、ge大于等于,Ite、le小于等于,not非, mod求模。is not div by是否能被某數(shù)整除,is not even是否為偶數(shù),$a is not even by $b 即($a / $b) % 2 = 0is not odd是否為奇$a is not odd by $b 即($a / $b) % 2 != 0XMLsaxxml:<-?xml version="1.0" encoding="utf-8"?-><books><book><author>Jac
36、k Herringtonv/author> <title>PHP Hacks</title> <publisher>O'Reilly</publisher> </book><book><author>Jack Herringtonv/author> <title>Podcasti ng Hacks</title> <publisher>O'Reilly</publisher></book><book><au
37、thor> 作者 </author><title> 標(biāo)題 </title><publisher> 出版者 </publisher></book></books>php:$g_books = array();$g_elem = nu II;function startEleme nt( $parser, $n ame, $attrs )global $g_books, $g_elem;if ( $name = 'BOOK' ) $g_books = array(); $g_elem = $n
38、 ame; function en dEleme nt( $parser, $n ame ) global $g_elem; $g_elem = n ull; function textData( $parser, $text )global $g_books, $g_elem;if ( $g_elem = 'AUTHOR' |$g_elem = 'PUBLISHER' |$g_elem = 'TITLE')$g_books cou nt( $g_books ) - 1 $g_elem = $text; $parser = xml_parser_
39、create();xml_set_eleme nt_ha ndler( $parser, "startEleme nt", "en dEleme nt"); xml_set_character_data_ha ndler( $parser, "textData");$f = fopen( '1.xml', 'r');while($data = fread( $f, 4096 )xml_parse( $parser, $data );xml_parser_free( $parser );foreach(
40、$g_books as $book )echo $book'TITLE'." - .$book'AUTHOR'."- ;echo $book'PUBLISHER'."<br>"DomDocume nt()xml:<-?xml version="1.0" encoding="utf-8"?-><books><book><author>Jack Herringtonv/author<title>PHP
41、 Hacks</title><publisher>O'Reilly</publisher></book><book><author>Jack Herringtonv/author><title>Podcasti ng Hacks</title><publisher>O'Reilly</publisher></book><book><author> 作者 </author><title> 標(biāo)題 &
42、lt;/title><publisher> 出版者 </publisher></book></books>php讀?。?doc = new DOMDocume nt();$doc->load( "l.xml");$books = $doc->getElementsByTagName( "book");foreach( $books as $book )$authors = $book->getEleme ntsByTagName( "author");$autho
43、r = $authors->item(0 )->no deValue;$publishers = $book->getEleme ntsByTagName( "publisher");$publisher = $publishers->item(0 )->no deValue;$titles = $book->getElementsByTagName( "title");$title = $titles->item(O)->nodeV alue;echo "$title - $author - $
44、publisher<br>" php生成:$books = array();$books = array('title' => 'PHP Hacks','author' => 'Jack Herrington', 'publisher' => "O'Reilly");$books = array('title' => 'Podcast ing Hacks','author' => '
45、;Jack Herrington', 'publisher' => "O'Reilly");$doc = new DOMDocume nt(); $doc->formatOutput = true;$r = $doc->createEleme nt( "books");$doc- >ap pe ndChild( $r );foreach( $books as $book )$b = $doc->createEleme nt( "book");$author = $doc-&
46、gt;createEleme nt( "author");$author->appe ndChild($doc->createTextNode( $book'author');$b->appendChild( $author );$title = $doc->createEleme nt( "title");$title->appe ndChild($doc->createTextNode( $book'title');$b->appendChild( $title );$publ
47、isher = $doc->createEleme nt( "publisher");$publisher->appe ndChild($doc->createTextNode( $book'publisher');$b->appendChild( $publisher );$r->appendChild( $b );echo $doc->saveXML();echo $doc->save('222.xml');SimpleXMLxml:<books><book><aut
48、hor>Jack Herringtonv/author<title>PHP Hacks</title><publisher>O'Reilly</publisher></book></books>php:$xml = new SimpleXMLEIeme nt('1.xml', NULL, TRUE);echo$xml->book0->author."".$xml->book0->title."".$xml->book0-&g
49、t;publisher;正那么ereg系列的正那么表達(dá)式不需要定屆符,preg系列的才需要,并且定界符可以自己選擇,只有前后一對(duì)就行,比方我們一般使用/符號(hào),但是如果里面有/需要匹配那么就需要使用 V來 表示,當(dāng)/需要出現(xiàn)屢次的時(shí)候,這樣就不方便,我們就可以使用其他的定界符 ,比方|正那么特殊字符. + * ? A $ ( ) = ! < > | :由原子(普通字符,如英文字符)、 元字符(有特殊功用的字符) 模式修正字符一個(gè)正那么表達(dá)式中,至少包含一個(gè)原子全部符號(hào)解釋將下一個(gè)字符標(biāo)記為一個(gè)特殊字符、或一個(gè)原義字符、或一個(gè) 個(gè)八進(jìn)制轉(zhuǎn)義符。例如,'n'匹配字符&qu
50、ot;n"。n'匹配一個(gè)換行符。序列 那么匹配"("。A向后引用、或一""而"("''匹配匹配'n'或$匹配'n'或匹配輸入字符串的開始位置。如果設(shè)置了 'r'之后的位置。匹配輸入字符串的完畢位置。如果設(shè)置了 'r'之前的位置。匹配前面的子表達(dá)式零次或?qū)掖巍egExp對(duì)象的RegExp對(duì)象的例如,Multili neMultili ne屬性,A也屬性,zo*能匹配"z"以與"zoo" 。 *等價(jià)于
51、0,。匹配前面的子表達(dá)式一次或?qū)掖巍?+等價(jià)于1,。匹配前面的子表達(dá)式零次或一次。的"do"。?等價(jià)于0,1。n n是一個(gè)非負(fù)整數(shù)。'o',但是能匹配"food"中的兩個(gè)n, n是一個(gè)非負(fù)整數(shù)。+能匹配"Z"。例如,例如,匹配確定的0。至少匹配'zo+能匹配"zo"以與"do(es)?"可以匹配"do"n次。例如,'o2'不能匹配"zoo",但不或"does"中"Bob"中的n
52、次。例如,o2,'不能匹配"Bob"中的o', 但能匹配"foooood"中的所有 o。o1,'等價(jià)于'o+'。'o0,'那么等價(jià)于'o*'。n,m m和n均為非負(fù)整數(shù),其中n <= m。最少匹配n次且最多匹配m次。例如,"o1,3"將匹配"fooooood"中的前三個(gè) o。o0,1'等價(jià)于o?'。請注意在逗號(hào)和兩 個(gè)數(shù)之間不能有空格。?當(dāng)該字符緊跟在任何一個(gè)其他限制符(*, +, ?, n, n, n,m)后面時(shí),匹配模
53、式是非貪婪的。非貪婪模式盡可能少的匹配所搜索的字符串,而默認(rèn)的貪婪模式那么盡可能多的匹配所搜索的字符串。例如,對(duì)于字符串"oooo",'o+?'將匹配單個(gè)"0",而0+'將匹配所有0'。.匹配除"n"之外的任何單個(gè)字符。要匹配包括'n'在的任何字符,請使用象'n'的模式。(pattern)匹配pattern并獲取這一匹配。所獲取的匹配可以從產(chǎn)生的Matches集合得到,在VBScript中使用 SubMatches集合,在JScript中那么使用 $0$9屬性。要匹 配圓
54、括號(hào)字符,請使用 '('或')'。(?:pattern)匹配pattern但不獲取匹配結(jié)果,也就是說這是一個(gè)非獲取匹配,不進(jìn)展存儲(chǔ)供以后使用。這在使用"或字符(|)來組合一個(gè)模式的各個(gè)局部是很有用。例如,'industr(?:y|ies)就是一個(gè)比'industry|industries'更簡略的表達(dá)式。(?=pattern)正向預(yù)查,在任何匹配pattern的字符串開始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如,Win dows (?=95|98|NT|2000)'能匹配"
55、;Windows 2000" 中的"Windows",但不能匹配 "Windows 3.1" 中的"Windows"。預(yù)查不消耗字符,也就是說,在一個(gè)匹配發(fā)生后,在最后一次匹配之后 立即開始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開始。pattern)負(fù)向預(yù)查,在任何不匹配pattern的字符串開始處匹配查找字符串。這是一個(gè)非獲取匹配,也就是說,該匹配不需要獲取供以后使用。例如'Win dows (?!95|98|NT|2000)'能匹配 "Windows 3.1"中的"Wi
56、ndows",但不能匹配 "Windows 2000" 中的"Windows"。預(yù)查不消耗字符,也就是說,在一個(gè)匹配發(fā)生后,在最后一次匹配之后 立即開始下一次匹配的搜索,而不是從包含預(yù)查的字符之后開始x|y 匹配 x 或 y。例如,'z|food'能匹配"z"或"food"。(z|f)ood'那么匹配"zood" 或"food"。xyz字符集合。匹配所包含的任意一個(gè)字符。例如,abc'可以匹配"plain"中的a&
57、#39;。Axyz負(fù)值字符集合。匹配未包含的任意字符。例如,'Aabc'可以匹配"plain"中的'p'。a-z字符圍。匹配指定圍的任意字符。例如, 'a-z'可以匹配'a'至U 'z'圍的任 意小寫字母字符。Aa-z負(fù)值字符圍。匹配任何不在指定圍的任意字符。例如,'Aa-z'可以匹配任何不在'a'到'z'圍的任意字符。b 匹配一個(gè)單詞邊界,也就是指單詞和空格間的位置。例如,'erb'可以匹配"never"中的&
58、#39;er',但不能匹配 "verb"中的'er'。B 匹配非單詞邊界。'erB'能匹配"verb"中的'er',但不能匹配"never"中的'er'。cx 匹配由x指明的控制字符。例如,cM匹配一個(gè) Control-M 或回車符。x的 值必須為 A-Z或a-z之一。否那么,將 c視為一個(gè)原義的'c'字符。d 匹配一個(gè)數(shù)字字符。等價(jià)于 0-9。D 匹配一個(gè)非數(shù)字字符。等價(jià)于A0-9。f 匹配一個(gè)換頁符。等價(jià)于 x0c和cL。n 匹配一個(gè)換行符。等
59、價(jià)于 x0a和cJ。r匹配一個(gè)回車符。等價(jià)于x0d和cM。s匹配任何空白字符,包括空格、制表符、換頁符等等。等價(jià)于fnrtv。S匹配任何非空白字符。等價(jià)于a fnrtv。t匹配一個(gè)制表符。等價(jià)于 x09和 cI。v匹配一個(gè)垂直制表符。等價(jià)于x0b 和 cK。w匹配包括下劃線的任何單詞字符。等價(jià)于'A-Za-z0-9_'。W匹配任何非單詞字符。等價(jià)于'AA-Za-z0-9_'。xn匹配n,其中n為十六進(jìn)制轉(zhuǎn)義值。 十六進(jìn)制轉(zhuǎn)義值必須為確定的兩個(gè)數(shù)字長。例如,'x41'匹配"A"。'匕041'那么等價(jià)于'x
60、04' & "1"。正那么表達(dá)式中可以使用ASCII編碼。.num 匹配num,其中num是一個(gè)正整數(shù)。對(duì)所獲取的匹配的引用。例如,(.)1'匹配兩個(gè)連續(xù)的一樣字符。n標(biāo)識(shí)一個(gè)八進(jìn)制轉(zhuǎn)義值或一個(gè)向后引用。如果n之前至少n個(gè)獲取的子表達(dá)式,那么n為向后引用。否那么,如果 n為八進(jìn)制數(shù)字(0-7),那么n為一個(gè)八進(jìn)制轉(zhuǎn) 義值。nm標(biāo)識(shí)一個(gè)八進(jìn)制轉(zhuǎn)義值或一個(gè)向后引用。如果nm之前至少有nm個(gè)獲得子表達(dá)式,那么 nm為向后引用。如果 nm之前至少有 n個(gè)獲取,那么 n為一個(gè)后跟文 字m的向后引用。如果前面的條件都不滿足,假設(shè)n和m均為八進(jìn)制數(shù)字 (0-7),
61、那么nm將匹配八進(jìn)制轉(zhuǎn)義值 nm。nml如果n為八進(jìn)制數(shù)字(0-3),且m和I均為八進(jìn)制數(shù)字(0-7),那么匹配八進(jìn)制轉(zhuǎn)義值 nml。un 匹配n,其中n是一個(gè)用四個(gè)十六進(jìn)制數(shù)字表示的Unicode字符。例如,u00A9匹配符號(hào)。例子八b(a-z+)b/i單詞數(shù)量/(w+):W(F/:+)(:d*)?(F# *)/將一個(gè)URL解析為協(xié)議、域、端口與相對(duì)路徑"(?:Chapter|Sectio n) 1-90-90,1$/定位章節(jié)的位置/-a-z/ A至z共26個(gè)字母再加一個(gè)-號(hào)。/terb/ 可匹配 chapter,而不能 terminal 八Bapt/可匹配chapter,而不能a
62、ptitude/Windows(?=95 |98 |NT )/ 可匹配 Windows95 或 Windows98 或 WindowsNT,當(dāng)找到 一個(gè)匹配后,從 Windows后面開始進(jìn)展下一次的檢索匹配。A_.0-9a-z-+(0-9a-z0-9a-z-+.)+a-z2,3$ Email 合法格式檢查A0-9+$純數(shù)據(jù)檢查A0-9a-z10-9a-z-0,19$用戶名檢查,字母和數(shù)字開始,只能含字母、數(shù)字、橫杠模式修正符i忽略大小寫s如果設(shè)定了此修正符,模式中的圓點(diǎn)元字符.匹配所有的字符,包括換行符e只用在preg_replace(),在替換字符串中對(duì)逆向引用作正常的替換,將其作為PHP代
63、碼求值,并用其結(jié)果來替換所搜索的字符串。如:$p = '/colorFo nt(.+?)VcolorFo nt/ie:$t = '"<img src='color.php?t=".urle ncode("1")."'/>":ecoh preg_replace($p,$t,$stri ng);這里必須加上e修正,才能將匹配到的容用 urlencode處理U貪婪模式,最大限度匹配如:/aw+?e/U 匹配abceadeddd中的abceade而不是abce,如果不加 U修正,那么匹 配己 abceA強(qiáng)制從字符串開頭匹配,即自動(dòng)在模式開頭加上 Am當(dāng)設(shè)定了此修正符,“行起始"a和“行完畢"$除了匹配整個(gè)字符串開頭和 完畢外,還分別匹配其中的換行符的之后和之前。如果目標(biāo)字符串中沒有“n 字符或者模式中沒有a或$,那么設(shè)定此修正符沒有任何效果。D模式中的美元元字符僅匹配目標(biāo)字符串的結(jié)尾。沒有此選項(xiàng)時(shí),如果最后一個(gè) 字符是換行符的話,美元符號(hào)也會(huì)匹配此字符之前。如果設(shè)定了m修正符那么忽略此選項(xiàng)例子匹配中文p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 肝癌的快速檢測技術(shù)
- 鄂州市九下期中數(shù)學(xué)試卷
- 工廠著裝培訓(xùn)課件
- 福建五年級(jí)數(shù)學(xué)試卷
- 2025年03月青島市衛(wèi)生健康系統(tǒng)公開招聘工作人員人數(shù)統(tǒng)計(jì)截至012日1630筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025年06月浙江金華永康市醫(yī)療急救指揮中心招聘編外人員2人筆試歷年專業(yè)考點(diǎn)(難、易錯(cuò)點(diǎn))附帶答案詳解
- 2025至2030寵物衣服產(chǎn)業(yè)行業(yè)市場占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030超白涂料產(chǎn)業(yè)市場發(fā)展分析及發(fā)展趨勢與投資價(jià)值報(bào)告
- 2025至2030餐飲行業(yè)市場深度研究與戰(zhàn)略咨詢分析報(bào)告
- 電腦怎么弄數(shù)學(xué)試卷
- 深基坑監(jiān)測管理制度
- 2025年安徽省中考英語試卷真題(含答案解析)
- 2025年甘肅省民航機(jī)場集團(tuán)校園招聘45人筆試參考題庫帶答案詳解
- 2025至2030年中國汽車MCU行業(yè)發(fā)展前景分析及市場需求預(yù)測報(bào)告
- 多芯粒集成芯片系統(tǒng)級(jí)可測試性設(shè)計(jì)優(yōu)化研究
- 2025年中國USB-C充電器行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 化學(xué)●甘肅卷丨2024年甘肅省普通高中學(xué)業(yè)水平等級(jí)性考試高考化學(xué)真題試卷及答案
- 2025年高考真題-英語(全國一卷) 含答案
- 2025年山東省普通高中學(xué)業(yè)水平合格考預(yù)測歷史試卷(含答案)
- 倉庫組長考試試題及答案
- 衣柜廠家合作協(xié)議書
評(píng)論
0/150
提交評(píng)論