2013-10-27 21 views

回答

1

在这种情况下,我建议不要使用的preg_match(preg_replace函数将被用于取代东西

只需使用

$array = explode('/',$_SERVER['REQUEST_URI']); 
$id = $array[1]; 

如果必须使用的preg_match:

$array = array(); 
preg_match('#^/photo/([0-9a-f]{32})/id$#',$_SERVER['REQUEST_URI'],$array); 
$id = $array[1]; 
0

您可以使用strripos轻松地找到最后的/在URL中。

$url = $_SERVER['REQUEST_URI']; 
if (($pos = strripos($url, '/')) !== false) { 
    $id = substr($url, $pos + 1); 
} 
else { 
    trigger_error('You must supply a valid photo ID'); 
} 
0

如果你想只提取ID字符串,您可以使用:

$id_url = "http://www.DDDD.com.br/photo/5b87f8eaa7c20f79c3257eb3ec0a35e0/id"; 
$pattern = "/photo\/([a-zA-Z0-9]*)/"; 
preg_match($pattern, $id_url, $output_array); 
echo $output_array[1]; 

或者,要更换:

$id_url = "http://www.DDDD.com.br/photo/5b87f8eaa7c20f79c3257eb3ec0a35e0/id"; 
$pattern = "/photo\/([a-zA-Z0-9]*)/"; 
$replacement = "your replacement"; 
$replaced_url = preg_replace($pattern, $replacement, $id_url); 
echo $replaced_url; 

PHP Live Regex - 用于测试的有用工具你的模式