2014-10-03 77 views
-2

我很困惑如何在php中檢查我想要的URL模式。我想檢查http://XXXXXX.blogspot.com/模式,即我插入的URL是否具有正確的URL模式? XXXXXX在URL中可以包含任何字符/數字/破折號或URL可以使用的任何內容。休息我希望每次都像http://開始和.blogspot.com/最後一樣的模式。在它之前和之後沒有更多的字符。如何通過PHP檢查特定的URL模式?

爲此,我正在使用下面的代碼,但它不工作。那麼這段代碼中有什麼不對?

$url = "http://"+[.*]+".blogspot.com/"; 
if (!$url){ 
echo "URL Pattern Didnt Match."; 
} else { 
echo "URL Pattern Matched."; 
} 
+2

請閱讀preg_match。你的代碼似乎沒有使用該功能。 – nhahtdh 2014-10-03 08:16:18

+0

@nhahtdh感謝您的提示... – 2014-10-03 08:22:06

回答

1

您的腳本會產生錯誤。你會這樣做:

$url = "http://(.+?)\.blogspot\.com/"; 
if (!preg_match("~$url~", $str)){ 
    echo "URL Pattern Didnt Match."; 
} else { 
    echo "URL Pattern Matched."; 
} 
+0

謝謝。你的人也在工作...... – 2014-10-03 08:21:10

+0

@MuhammadHassan:不客氣,很高興它有幫助。 – Toto 2014-10-03 08:23:21

+0

我不知道爲什麼人們投下這個問題。如果提問者知道所有,那麼爲什麼要問這裏...:p – 2014-10-03 08:26:06

1
  • ,我們在您的正則表達式的許多問題,需要加以糾正
  • 你不能只是測試正則表達式,而不調用像preg_match

任何PHP函數可以使用此代碼:

if (preg_match('#https?://[^.]+\.blogspot\.com/#i', $inputUrl)) { 
    echo "URL Pattern Matched."; 
} else { 
    echo "URL Pattern Didn't Match.";  
} 
+0

謝謝。你的一個也在工作...... – 2014-10-03 08:21:42

+0

不客氣,很高興它的工作。 – anubhava 2014-10-03 08:22:37