2011-12-21 78 views
0

我使用parse_url形成以下一出:pregmatch的URL验证

<?php 
$url = 'http://www.wine-searcher.com/merchant/26127'; 

echo parse_url($url, PHP_URL_PATH); 
?> 

输出/merchant/26127

我必须将模式与preg_match匹配。我有一个循环,我想匹配所有形式为'/ merchant/number'的网址。

示例中的url应该匹配。

回答

2
<?php 
$url = 'http://www.wine-searcher.com/merchant/26127'; 

$queryStr = parse_url($url, PHP_URL_PATH); 
var_dump(preg_match('|/merchant/\d+$|', $queryStr) == 1); 

应该这样做

+0

你或许应该加上字符串的开头:''^锚为好。否则,这将错误地匹配:http://www.wine-searcher.com/other/path/merchant/26127'否则+1。 – ridgerunner 2011-12-21 17:17:45