我知道有很多與此主題相關的問題,但經過幾天的研究,我沒有找到可以幫助解決這個問題的東西,所以在這裏是:Eregi和preg_match替換,capcha和電子郵件驗證器上的大錯誤
我更換了的preg_match棄用eregi在我的網站上的2個文件,現在CAPCHA代碼給出了註冊頁面上的錯誤,即使代碼是完全正確的
在註冊頁面我已取代此
function is_valid_username($username) {
if(!eregi("^[a-z0-9]*$", trim(str_replace(" ","",$username)))) {
return 0;
}
本
if(!preg_match("^[a-z0-9]*$^", trim(str_replace(" ","",$username)))) {
return 0;
}
而在我的第二個文件我已經取代了這一點:
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
$result = 0;
}
與此
if(!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$^", $email)) {
$result = 0;
}
我怎樣才能解決這個問題?
[Convert deprecated eregi/ereg/ereg \ _replace to preg \ _match or other equivalent](http://stackoverflow.com/questions/10931963/convert-deprecated-eregi-ereg-ereg-replace-to -preg-match-or-other-equivalent) – Toto
供參考:TLD不限於4個字符長度,請參閱:http://data.iana.org/TLD/tlds-alpha-by-domain.txt – Toto