Отфильтруйте строку, чтобы удалить запрещенные символы, чтобы создать URL в CodeIgniter. - PullRequest
0 голосов
/ 14 октября 2010

Я пытаюсь сделать URL-ориентированные ссылки для блога в моем портфолио. Поэтому я хотел бы получить ссылки, например, на сайт / журнал / пост / {название}

Очевидно, что Journal - это мой контроллер, но, скажем, мой заголовок будет «mysite.com запускается!» Я хотел бы иметь действительный URL-адрес, такой как site / journal / post / mysitecom-Go-Live, где удаляются все запрещенные символы.

Как бы я изменил 'mysite.com выходит в эфир!' для 'site / journal / post / mysitecom-go-live' в CodeIgniter на основе символов в $ config ['allow_uri_chars']

1 Ответ

3 голосов
/ 14 октября 2010

используйте url helper

$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.

Сохраните это значение в поле таблицы блога (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 есть метод get_post, который использует CI

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

надежда, которая имеет смысл.

затем, когда вы обращаетесь к странице:

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

, функция подберет «mysite-go-live» и передаст ее функции view (), которая, в свою очередь, ищетсоответствующая запись блога в базе данных.

...