亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

PHP 正則表達式常用函數

2020-03-22 18:35:30
字體:
來源:轉載
供稿:網友
函數原型:int preg_match (string $pattern, string $content [, array $matches])
preg_match ()函數在$content字符串中搜索與$pattern給出的html' target='_blank'>正則表達式相匹配的內容。如果提供了$matches,則將匹配結果放入其 中。$matches[0]將包含與整個模式匹配的文本,$matches[1]將包含第一個捕獲的與括號中的模式單元所匹配的內容,以此類推。該函數只 作一次匹配,最終返回0或1的匹配結果數。代碼6.1給出preg_match()函數的一段代碼示例。
代碼6.1 日期時間的匹配
代碼如下:
php //需要匹配的字符串。date函數返回當前時間 $content = "Current date and time is ".date("Y-m-d h:i a").", we are learning PHP together."; //使用通常的方法匹配時間 if (preg_match ("http://d{4}-/d{2}-/d{2} /d{2}:/d{2} [ap]m/", $content, $m)) echo "匹配的時間是:" .$m[0]. "/n"; //由于時間的模式明顯,也可以簡單的匹配 if (preg_match ("/([/d-]{10}) ([/d:]{5} [ap]m)/", $content, $m)) echo "當前日期是:" .$m[1]. "/n"; echo "當前時間是:" .$m[2]. "/n"; 這是一個簡單動態文本串匹配實例。假設當前系統時間是“2006年8月17日13點25分”,將輸出如下的內容。
匹配的時間是:2006-08-17 01:25 pm
當前日期是:2006-08-17
當前時間是:01:25 pm2.ereg()和eregi()
ereg()是POSIX擴展庫中正則表達式的匹配函數。eregi()是ereg()函數的忽略大小寫的版 本。二者與preg_match的功能類似,但函數返回的是一個布爾值,表明匹配成功與否。需要說明的是,POSIX擴展庫函數的第一個參數接受的是正則 表達式字符串,即不需要使用分界符。例如,代碼6.2是一個關于文件名安全檢驗的方法。
代碼6.2 文件名的安全檢驗
代碼如下:
php $username = $_SERVER['REMOTE_USER']; $filename = $_GET['file']; //對文件名進行過濾,以保證系統安全 if (!ereg('^[^./][^/]*$', $userfile)) die('這不是一個非法的文件名!'); //對用戶名進行過濾 if (!ereg('^[^./][^/]*$', $username)) die('這不是一個無效的用戶名'); //通過安全過濾,拼合文件路徑 $thefile = "/home/$username/$filename"; 通常情況下,使用與Perl兼容的正則表達式匹配函數perg_match(),將比使用ereg()或eregi()的速度更快。如果只是查找一個字符串中是否包含某個子字符串,建議使用strstr()或strpos()函數。正則表達式的替換1.ereg_replace()和eregi_replace()
函數原型:string ereg_replace (string $pattern, string $replacement, string $string)
string eregi_replace (string $pattern, string $replacement, string $string)
ereg_replace()在$string中搜索模式字符串$pattern,并將所匹配結果替換 為$replacement。當$pattern中包含模式單元(或子模式)時,$replacement中形如“/1”或“$1”的位置將依次被這些子 模式所匹配的內容替換。而“/0”或“$0”是指整個的匹配字符串的內容。需要注意的是,在雙引號中反斜線作為轉義符使用,所以必須使用“//0”,“ //1”的形式。
eregi_replace()和ereg_replace()的功能一致,只是前者忽略大小寫。代碼6.6是本函數的應用實例,這段代碼演示了如何對程序源代碼做簡單的清理工作。
代碼6.6 源代碼的清理
代碼如下:
php $lines = file('source.php'); //將文件讀入數組中 for($i=0; $i count($lines); $i++) //將行末以“//”或“#”開頭的注釋去掉 $lines[$i] = eregi_replace("(////|#).*$", "", $lines[$i]); //將行末的空白消除 $lines[$i] = eregi_replace("[ /n/r/t/v/f]*$", "/r/n", $lines[$i]); //整理后輸出到頁面 echo htmlspecialchars(join("",$lines)); 2.preg_replace()
函數原型:mixed preg_replace (mixed $pattern, mixed $replacement, mixed $subject [, int $limit])
preg_replace較ereg_replace的功能更加強大。其前三個參數均可以使用數組;第四個參數$limit可以設置替換的次數,默認為全部替換。代碼6.7是一個數組替換的應用實例。
代碼6.7 數組替換
代碼如下:
php //字符串 $string = "Name: {Name} br /nEmail: {Email} br /nAddress: {Address} br //模式 $patterns =array( "/{Address}/", "/{Name}/", "/{Email}/" //替換字串 $replacements = array ( "No.5, Wilson St., New York, U.S.A", "Thomas Ching", "tom@emailaddress.com", //輸出模式替換結果 print preg_replace($patterns, $replacements, $string); 輸出結果如下。
Name: Thomas Ching", Email: tom@emailaddress.com Address: No.5, Wilson St., New York, U.S.A 在preg_replace的正則表達式中可以使用模式修正符“e”。其作用是將匹配結果用作表達式,并且可以進行重新運算。例如:
代碼如下:
php $html_body = “ HTML Body H1 TEST /H1 My Picture Img src=”my.gif” /Body /HTML //輸出結果中HTML標簽將全部為小寫字母 echo preg_replace ( "/( // )(/w+)([^ ]* )/e", "'//1'.strtolower('//2').'//3'", //此處的模式變量//2將被strtolower轉換為小寫字符 $html_body); 提示
preg_replace函數使用了Perl兼容正則表達式語法,通常是比ereg_replace更快的替代方案。如果僅對字符串做簡單的替換,可以使用str_replace函數。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
都市激情亚洲色图| 成人a视频在线观看| 97成人精品视频在线观看| 欧美性感美女h网站在线观看免费| 国产成人精品av| 97超视频免费观看| 欧美性受xxxx黑人猛交| 欧美黑人又粗大| 92看片淫黄大片看国产片| 日韩av电影手机在线观看| 日本在线精品视频| 日韩免费在线播放| 国语自产精品视频在免费| 欧美老女人性生活| 国产精品丝袜一区二区三区| 日本久久久久久久| 一本色道久久综合亚洲精品小说| 久久久精品国产| 欧美综合在线观看| 亚洲精品国产拍免费91在线| 深夜福利一区二区| 超碰日本道色综合久久综合| 久久精视频免费在线久久完整在线看| 亚洲乱码一区av黑人高潮| 国产欧洲精品视频| 成人午夜高潮视频| 欧美性猛交丰臀xxxxx网站| 国语自产精品视频在线看抢先版图片| 亚洲欧洲美洲在线综合| 欧美限制级电影在线观看| 精品一区二区亚洲| 欧美性videos高清精品| 成人激情在线观看| 热99精品只有里视频精品| 国产伦精品免费视频| 91精品91久久久久久| 91精品国产自产在线| 国产亚洲精品美女| 精品自拍视频在线观看| 国产精品久久久久久久久久99| 欧美在线视频在线播放完整版免费观看| 91精品久久久久久久久青青| 91免费看国产| 亚洲国产精久久久久久久| 国产一区二区在线播放| 亚洲精品视频中文字幕| 91在线色戒在线| 久久久在线视频| 欧美日韩久久久久| 欧美国产日本在线| 97国产一区二区精品久久呦| 精品成人乱色一区二区| 国产欧美 在线欧美| 亚洲欧美国产高清va在线播| 国产成人av网址| 成人精品一区二区三区电影黑人| 亚洲欧美一区二区三区情侣bbw| 欧美成人精品xxx| 中文字幕一精品亚洲无线一区| 久久久91精品国产一区不卡| 亚洲国产一区二区三区四区| 成人久久久久爱| 亚洲在线免费看| 久久在线免费观看视频| 久久久久久久久综合| 久久影院模特热| 欧美精品手机在线| 日韩欧美在线免费观看| 日韩av最新在线观看| 中文字幕国产精品| 日韩国产高清视频在线| 这里只有精品久久| 26uuu另类亚洲欧美日本一| 日韩经典中文字幕在线观看| 亚洲精选一区二区| 91牛牛免费视频| 欧美黄色片视频| 日韩av资源在线播放| 亚洲美女喷白浆| 国产精品一区二区女厕厕| 久久九九全国免费精品观看| 国产视频一区在线| 欧美激情综合色综合啪啪五月| 欧美激情视频在线| 成人黄色中文字幕| 91中文在线观看| 国外视频精品毛片| 国产91在线播放精品91| 91精品国产色综合| 国产拍精品一二三| 色综合影院在线| 热久久免费国产视频| 中文字幕亚洲欧美日韩2019| 亚洲国产私拍精品国模在线观看| 国产日韩欧美在线视频观看| 亚洲精品乱码久久久久久金桔影视| 欧美激情奇米色| 国产亚洲欧洲黄色| 成人中心免费视频| 亚洲人线精品午夜| 久久91亚洲人成电影网站| 国产亚洲一区精品| 亚洲va欧美va国产综合剧情| 国产精品自拍网| 国a精品视频大全| 欧美精品videosex牲欧美| 欧美亚洲国产视频| 97精品久久久中文字幕免费| 欧美激情视频一区二区| 成人精品一区二区三区电影黑人| 久久久精品999| 日韩电影免费在线观看中文字幕| 久久久久久久一区二区三区| 久久久久久亚洲精品中文字幕| 亚洲一区中文字幕在线观看| 欧美精品激情blacked18| 欧美亚洲另类视频| 国产一区二区三区丝袜| 在线观看欧美成人| 91午夜在线播放| 国产精品欧美日韩久久| 欧美亚洲在线播放| 国产精品mp4| 国产美女直播视频一区| www.欧美视频| 国产精品美腿一区在线看| 久久中文精品视频| 国产精品久久久av久久久| 成人中文字幕在线观看| 亚洲欧美在线免费观看| 国产精品成人播放| 亚洲剧情一区二区| 久久久久久久久久亚洲| 亚洲欧美另类人妖| 欧美激情一区二区三级高清视频| 少妇av一区二区三区| 亚洲欧美www| 欧美激情精品久久久久久大尺度| 久久久久久69| 国产午夜精品一区二区三区| 亚洲一区二区三| 国产精品视频一| 俺去了亚洲欧美日韩| 欧美二区乱c黑人| 欧美激情视频网址| 奇米成人av国产一区二区三区| 日韩经典中文字幕| 91精品久久久久久综合乱菊| 欧美高清自拍一区| 亚洲精品久久久久中文字幕二区| 欧美国产日本高清在线| 国产日韩欧美夫妻视频在线观看| 在线观看亚洲视频| 欧美中文字幕第一页| 青草热久免费精品视频| 97国产真实伦对白精彩视频8| 亚洲国产精品久久久久| 日韩高清av一区二区三区| 国产精品96久久久久久| 亚洲第一视频网| 国产亚洲精品91在线| 亚洲高清免费观看高清完整版| 91美女片黄在线观看游戏| 日韩一区二区欧美|