2009-10-08 3 views
0

ereg 메소드를 사용하여 URL의 유효성을 검사합니다. 여기 내 코드는 다음과 같습니다.ereg를 사용하여 PHP에서 URL 유효성 확인

function validationURL($URL) { 
    if (ereg("^(http://www|www)[.]([a-z,A-Z,0-9]+)([-,_])([a-z,A-Z,0-9]+)[.]([a-z,A-Z]){2,3}[.]?(([a-z,A-Z]){2,3})[/]?[~]?([/,a-z,A-Z,0-9]+)?$",$URL)){ 
     return true; 
    } else { 
     return false; 
    } 
} 


if ($website !="" && $website !=NULL) { 
    if (validationURL($website)){ 
     $websiteOk = true; 
    } else { 
     $errmsg = $errmsg . "URL Is Invalid.<br>"; 
     $websiteOk = false; 
    } 
} 

이 코드는 무엇이 잘못 됐는지 알 수 있습니다. www.google.com.my를 테스트했지만 작동하지 않습니다.

답변

5

되지 않음 대답 귀하의 질문에 아마도,하지만 당신은 PHP5 보낸 사람이 할 수있는 더 좋은 방법이 알고

거기에 URL 필터는? 이 기능은 filter_var이라고하며이 기능을 사용하여 URL과 전자 메일 주소의 유효성을 검사 할 수 있습니다. 예 :

$website = $_POST['postedInAForm_Maybe']; 
if (filter_var($website, FILTER_VALIDATE_URL)) { 
    echo "Yay!"; 
} else { 
    echo "Nah."; 
} 

here 필터를 찾을 수 있습니다.

0

필자는 Björn에 동의하지만 filter_var를 사용할 수 없다면 preg 함수 (Perl 호환 정규 표현식)를 사용하는 것이 더 좋으며, 이제는 POSIX (ereg) 함수가 가치가 하락합니다.

This blog post에는 정말 훌륭한 REGEX 예제가 있습니다.