Codeigniter推荐部分

时间:2017-06-27 09:06:27

标签: php codeigniter

我目前正在努力寻找使用CodeIgniter从引荐来源网址中提取细分的方法。

至于普通网址段可以通过

找到
$this->uri->segment(n)

其中n是我们要查找的部分的数量。

我的直觉说我应该使用以下内容,但当然它不起作用。

$this->agent->referrer()->segment(1);

有人能帮助我吗?

2 个答案:

答案 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);