新聞中心
PHP語言中比較難掌握的一點要數(shù)正則表達(dá)式,通常初學(xué)者們都會在這上面耗掉許多時間。我們今天要為大家介紹的是POSIX擴展庫中正則表達(dá)式的匹配函數(shù)——PHP ereg()函數(shù)。

創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、網(wǎng)站設(shè)計制作、做網(wǎng)站、微信公眾號開發(fā)、成都小程序開發(fā)、H5高端網(wǎng)站建設(shè)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、全網(wǎng)營銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
#t#不過,eregi()是PHP ereg()函數(shù)的忽略大小寫的版本。二者與preg_match的功能類似,但函數(shù)返回的是一個布爾值,表明匹配成功與否。需要說明的是,POSIX擴展庫函數(shù)的***個參數(shù)接受的是正則表達(dá)式字符串,即不需要使用分界符。例如,代碼6.2是一個關(guān)于文件名安全檢驗的方法。
代碼6.2 文件名的安全檢驗
- < ?php
- $username = $_SERVER['REMOTE_USER'];
- $filename = $_GET['file'];
- //對文件名進(jìn)行過濾,以保證系統(tǒng)安全
- if (!ereg('^[^./][^/]*$', $userfile))
- {
- die('這不是一個非法的文件名!');
- }
- //對用戶名進(jìn)行過濾
- if (!ereg('^[^./][^/]*$', $username))
- {
- die('這不是一個無效的用戶名');
- }
- //通過安全過濾,拼合文件路徑
- $thefile = "/home/$username/$filename";
- ?>
通常情況下,使用與Perl兼容的正則表達(dá)式匹配函數(shù)perg_match(),將比使用PHP ereg()函數(shù)或eregi()的速度更快。如果只是查找一個字符串中是否包含某個子字符串,建議使用strstr()或strpos()函數(shù)。
當(dāng)前標(biāo)題:探討PHPereg()函數(shù)與正則表達(dá)式的匹配
文章起源:http://fisionsoft.com.cn/article/cdspech.html


咨詢
建站咨詢
