-1

如何使用 preg_replace 获取 id url。

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

4

3 回答 3

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];
于 2013-10-27T19:02:10.720 回答
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 - 用于测试模式的有用工具

于 2013-10-27T19:09:18.063 回答
0

您可以使用在 URLstrripos中查找最后一个来轻松完成此操作。/

$url = $_SERVER['REQUEST_URI'];
if (($pos = strripos($url, '/')) !== false) {
    $id = substr($url, $pos + 1);
}
else {
    trigger_error('You must supply a valid photo ID');
}
于 2013-10-27T19:07:41.923 回答