2014-10-03 78 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