Rewriting URL's in codeigniter with url_title()?

Posted by Craig Ward on Stack Overflow See other posts from Stack Overflow or by Craig Ward
Published on 2010-03-25T13:17:52Z Indexed on 2010/03/27 0:33 UTC
Read the original article Hit count: 556

Filed under:
|
|

I am rewriting my website with codeigniter and have something I want to do but not sure it is possible.

I have a gallery on my site powered by the Flickr API. Here is an example of the code I use to display the Landscape pictures:

<?php foreach ($landscapes->photoset->photo as $l->photoset->photo) : ?>
<a >photoset->photo->farm ?>/<?php echo $l->photoset->photo->server ?>/<?php echo $l->photoset->photo->id ?>/<?php echo $l->photoset->photo->secret ?>/<?php echo $l->photoset->photo->title ?>'>
<img class='f_thumb'>photoset->photo->farm ?>.static.flickr.com/<?php echo $l->photoset->photo->server ?>/<?php echo $l->photoset->photo->id ?>_<?php echo $l->photoset->photo->secret ?>_s.jpg' title='<?php echo $l->photoset->photo->title ?>' alt='<?php echo $l->photoset->photo->title ?>' /></a>
<?php endforeach; ?>

As you can see when a user clicks on a picture I pass over the Farm, Server, ID, Secret and Title elements using URI segments and build the page in the controller using

$data['farm'] = $this->uri->segment(3); $data['server'] = $this->uri->segment(4); $data['id'] = $this->uri->segment(5); $data['secret'] = $this->uri->segment(6); $data['title'] = $this->uri->segment(7);
Everything works and is fine but the URL’s are a tad long, example “http://localhost:8888/wip/index.php/gallery/focus/3/2682/4368875046/e8f97f61d9/Old Mill House in Donegal”

Is there a way to rewrite the URL so its more like “http://localhost:8888/wip/index.php/gallery/focus/Old_Mill_House_in_Donegal”

I was looking at using:

$url_title = $this->uri->segment(7); $url_title = url_title($url_title, 'underscore', TRUE); But I don’t seem to be able to get it to work. Any ideas?

© Stack Overflow or respective owner

Related posts about codeigniter

Related posts about uri