过滤字符串以删除不允许的字符以在CodeIgniter中组成URL

时间:2010-10-14 15:40:00

标签: codeigniter codeigniter-url

我正在尝试为我的投资组合中的博客制作网址友好链接。 所以我想获得像site / journal / post / {title}

这样的链接

显然,Journal是我的控制者,但是让我说我​​的头衔是'mysite.com上线!'我希望有一个有效的网址,例如site / journal / post / mysitecom-goes-live,其中删除了所有不允许的字符。

我将如何改造'mysite.com上线!'根据$ config ['allowed_uri_chars']中的字符在CodeIgniter中的'site / journal / post / mysitecom-goes-live'

1 个答案:

答案 0 :(得分:3)

使用网址助手

$this->load->helper('url');

$blog_slug = url_title('Mysite.com Goes live!');

echo $blog_slug //mysitecom-site-goes-live 
// might differ slightly, but it'll do what you want.

生成友好网址链接。

将此值存储在博客表(url_title / url_slug)中的字段中。

制作一个功能:

class Journal extends controller
{
   //make your index/constructor etc

   function view($post)
   {
     $this->blog_model->get_post($post);
     // etc - your model returns the correct post,
     // then process that data and pass it to your view
   }
}

你的blog_model有一个使用CI的方法get_post

$this->db->where('url_title', $post);

希望这是有道理的。

然后当您访问该页面时:

site.com/journal/view/mysite-goes-live

该函数将选择“mysite-goes-live”并将其传递给view()函数,该函数将在数据库中查找相应的博客条目。