2013-03-02 2 views
1

여기 내 코드에서 결과를 얻을 : -는 PHP 변수를 확인하고

<?php 
$URL = "http://www.mylink.com/show_album/XXXXX"; 
/*The value of $URL will be passed from previous page via Form*/ 
?> 

첫째, 변수의 값은 링크/URL이어야합니다. 그렇지 않은 경우 echo "Not an URL";을 실행해야합니다. 그러나 링크인지 아닌지를 확인할 수 없습니다. 제발, 누구든지 이걸 알아 내도록 도와주세요. 초보자로서, 나는 도움이 심하게 필요합니다.

둘째, http : //은 선택 사항입니다. 제공된다면 괜찮습니다. 그렇지 않으면 "http : //"가 자동으로 추가됩니다. 이 코드를 사용하여 작동합니다.

if(strpos($URL, "http://") !== false){ 
    echo $URL; 
    echo "<br />http:// already provided"; 
    return $URL; 
} 
else { 
    echo "http://" . $URL; 
    $URL = "http://" . $URL; 
    echo "<br />http:// automatically added"; 
    return $URL; 
} 

셋째, 텍스트 (따옴표없이) "mylink.com/show_album/은"$ URL에서 사용할 수 있어야합니다. 이 코드를 다음과 같이 사용했습니다. -

if (strpos($URL, "mylink.com/show_album/") !== false){ 
    echo "The "mylink.com/show_album/ is available"; 
} 
else { 
    echo "The "mylink.com/show_album/ is not available"; 
} 

괜찮습니다.

다음으로 $ URL에서 값은 마지막 단어 XXXXX가있는 링크 이름입니다. 이 변수의 마지막 단어 여야합니다. XXXXX는 숫자입니다. "12345"또는 다른 숫자와 같은 숫자 일 수 있습니다. 그러나이 $ URL에서 Number를 가져 와서 보여주고 싶습니다. 어떻게해야합니까?

마침내 링크에는 http : // 및 www.mylink.com/show_album/XXXXX 만 포함될 수 있습니다. 그렇지 않으면 echo "Not a valid link";이 실행됩니다. 이 작업을 수행하는 방법? 검증 URL의

+0

"정규 expre ssions " – Greg

+0

전혀 시도한 적이 있습니까? 당신이하고있는 일을 잘 알고있는 것처럼 보이지만 마지막 X 문자가 실제로 숫자인지 확인하는 방법을 모르십니까? – ElefantPhace

답변

0

: 검증하기위한

$text = preg_replace(" 
    #((http|https|ftp)://(\S*?\.\S*?))(\s|\;|\)|\]|\[|\{|\}|,|\"|'|:|\<|$|\.\s)#ie", 
    "'<a href=\"$1\" target=\"_blank\">$3</a>$4'", 
    $text 
); 

/추가에 http : // URL의 전면에, 같은 수행

$protocol = substr($URL, 0, 7); 
if($protocol!="http://") 
{ 
    $URL="http://".$URL; 
} 

편집을 이제 마지막 번호를 가져 오는 경우 :

$XXXXX=substr($URL, strrpos($url, '/')+1); 
+0

감사합니다. beNerd, –

+0

하지만 더 필요한 것이 있습니다. XXXXX는 5 개의 숫자로 이루어진 단어가 아닙니다. XXXXX에는 숫자가 포함되어야합니다. 이제 어떻게해야합니까? –

+0

도 훨씬 간단합니다. 내 편집을 참조하십시오. – beNerd