我想使用php检索页面网址,但我想删除一些部分
<?php print("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); ?>
Example: http://url.com/questions/page/112/
Result: http://url.com/page/112/
我想删除网址中的questions/
。我该怎么做?
答案 0 :(得分:2)
$url="http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$url=str_replace('/questions','',$url);
echo $url;
答案 1 :(得分:1)
你会想要使用mod_rewrite,一个apache中可用的模块。这将由您的Web目录中的.htaccess文件管理。 AddedBytes为url-rewriting的初学者提供了一个很好的教程。
答案 2 :(得分:0)
我会使用php的explode函数将示例拆分为由“/”分隔的数组,然后循环遍历数组,数组值=问题,取消设置或从数组中删除它。
//示例1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2
这是一个例子。
答案 3 :(得分:0)
如果您只是想将其删除为字符串,则可以使用
$url = str_replace('/questions', '', $_SERVER["REQUEST_URI"]);
如果您想将用户重定向到该页面,则需要发送标题(在任何输出之前):
header('Location: http://' . $_SERVER["HTTP_HOST"] . $url);
exit;
答案 4 :(得分:0)
试试这个;
$str = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
$parts = explode("/",$str);
$tmp = array();
for($i = 0; $i<count($parts)-2;$i++){
$tmp[$i] = $parts[$i];
}
$output = implode("/",$tmp);
答案 5 :(得分:0)
你可以使用这样的东西
$sentence = str_replace('questions/', '', 'http://url.com/questions/page/112/');
答案 6 :(得分:0)
//This splits the uri into an array
$uri = explode("/",$_SERVER["REQUEST_URI"]);
//Then Remove the first part of the uri (ie questions)
$first_uri = array_shift($uri);
//Recreate the string from the array
$uri = implode("/", $uri);
//Print like in your example
print("http://" . $_SERVER["HTTP_HOST"] . $uri);
//You can also access the remove string (questions) in the $first_uri variable
print($first_uri); //returns questions
答案 7 :(得分:0)
$url='http://'.$_SERVER['HTTP_HOST'].preg_replace('/^\/questions/i','',$_SERVER['REQUEST_URI']);
echo $url;