如何使用preg_replace獲取id網址。使用preg_replace獲取id
這是鏈接: http://www.DDDD.com.br/photo/5b87f8eaa7c20f79c3257eb3ec0a35e0/id我該如何獲得ID?在案件是:5b87f8eaa7c20f79c3257eb3ec0a35e0
如何使用preg_replace獲取id網址。使用preg_replace獲取id
這是鏈接: http://www.DDDD.com.br/photo/5b87f8eaa7c20f79c3257eb3ec0a35e0/id我該如何獲得ID?在案件是:5b87f8eaa7c20f79c3257eb3ec0a35e0
在這種情況下,我建議不要使用的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];
您可以使用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');
}
如果你想只提取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 - 用於測試的有用工具你的模式
爲什麼不preg_match? – MightyPork
你嘗試過什麼? – revo