我正在尝试在codeigniter中使用current_url()函数,但不确定如何操作此数据。我知道我可以回应current_url()但是如何获取每个段并用于生成新的URL?
我正在尝试获取当前页面的部分并用于生成新的URL并添加新的可变数据。
我从未使用过current_url();以前,所以不知道该怎么做。让我们说我的用户在过滤器页面上,并有2个变量来过滤他们的结果(邻域和类别)。如果用户点击一个邻域,我将如何构建超链接以拉出该类别的当前url变量,然后为邻域插入变量?
我的网址如下: mydomain.com/ny/find/$neighborhood/$category
Breakdown:
ny = controller
find = function
param1 = $neighborhood
param2 = $category
非常感谢任何帮助......
答案 0 :(得分:0)
您可以通过以下方式细分您的网址:
For ny: echo $this->uri->segment(1);
For find: echo $this->uri->segment(2);
For param1: echo $this->uri->segment(3);
For param2: echo $this->uri->segment(4);
答案 1 :(得分:0)
<?php //check if there is a value in uri segment 3 (param1)
if($this->uri->segment(3)){
//if there is a value there then include it in the link ?>
<a href="controller/function/<?=$this->uri->segment(3)?>/link">Link text</a>
<?php //otherwise just go to the link for param1
}else{ ?>
<a href="controller/function/link">Link text</a>
<?php } ?>
这应该可行,具体取决于您可能需要调整链接以及else语句中的逻辑所需的确切逻辑。根据您想要链接的方式,如果用户位于包含4个网址段的网页上,您可能还需要添加elseif($this->uri->segment(4))
并使用不同的逻辑。
答案 2 :(得分:0)
current_url()返回加载的实际页面的字符串。您可以使用细分创建任何所需的网址。 假设您有这个当前网址:
mydomain.com/ny/find/$neighborhood/$category
如果您想在此网址中添加内容并创建指向该用户的链接,则可以创建一个字符串:
$url = base_url().$this->uri->segment(1).'/'.$this->uri->segment(2).'/newParamYouAdd/'.$this->uri->segment(4);
然后:
<a href="<?php echo $url; ?>">New url</a>
请告诉我这是否是你想要的。