我目前正在努力寻找使用CodeIgniter从引荐来源网址中提取细分的方法。
至于普通网址段可以通过
找到$this->uri->segment(n)
其中n是我们要查找的部分的数量。
我的直觉说我应该使用以下内容,但当然它不起作用。
$this->agent->referrer()->segment(1);
有人能帮助我吗?
答案 0 :(得分:1)
Codeigniter中的referrer函数不允许段 - 它只返回$_SERVER
参数(在User_agent.php中找到):
public function referrer()
{
return empty($_SERVER['HTTP_REFERER']) ? '' : trim($_SERVER['HTTP_REFERER']);
}
因此,您需要展开网址或使用http://php.net/manual/en/function.parse-url.php为您获取元素。
答案 1 :(得分:0)
在PHP中,您可以使用$_SERVER['HTTP_REFERER']
获取reffer URI,然后使用parse_url
获取来自网址的路径,然后使用explode
将其拆分为其细分。
示例:
$from = $_SERVER['HTTP_REFERER'];
$segments = explode('/', $from['path']);
//result
$first_segment = $segments[0];
$second_segment = $segments[1];
$third_segment = $segments[3];
// and more
//but if you want to count start from last segment example is below
$first_segment_from_last = $segments[sizeof($segments)-1];
$second_segment_from_last = $segments[sizeof($segments)-2];
//and more
//test
print_r('my refferal URI is ' . $from . ', and the first segment is '. $first_segment);