如何通过PHP检查特定的URL模式?

时间:2014-10-03 08:13:52

标签: php regex preg-match

我对如何在php中检查我想要的URL模式感到困惑。我想检查http://XXXXXX.blogspot.com/模式我插入的URL是否具有正确的URL模式? URL中的XXXXXX可以包含任何chracters / numbers /破折号或URL可以使用的任何内容。休息我每次都想要相同的模式,比如开始时http://和最后.blogspot.com/。它之前和之后不再有字符。

为此,我使用下面的代码,但它不起作用。那么这段代码有什么问题吗?

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

2 个答案:

答案 0 :(得分:1)

  • 正则表达式中存在许多需要纠正的问题
  • 您不能只调用正则表达式而不调用任何PHP函数,如preg_match

您可以使用此代码:

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

答案 1 :(得分:1)

您的脚本会产生错误。你会这样做:

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