使用preg_replace获取id

时间:2013-10-27 18:57:22

标签: php url get preg-replace

如何使用preg_replace获取id url。

这是链接: http://www.DDDD.com.br/photo/5b87f8eaa7c20f79c3257eb3ec0a35e0/id我如何获得身份证?在这种情况下将是:5b87f8eaa7c20f79c3257eb3ec0a35e0

3 个答案:

答案 0 :(得分: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];

答案 1 :(得分:0)

您可以使用strripos轻松完成此操作,以查找网址中的最后一个/

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

答案 2 :(得分: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 - 测试模式的有用工具