[eluser]tonanbarbarian[/eluser]
rather than having parameters on the method, you can use the URI object to get the segments of the uri. this allows for a flexible number of parameters
Code:
$segments = $this->uri->uri_to_assoc(2);
produces an associate array of segments, which i prefer to just referencing as numbers (but that is a personal decision)
so the urls could be
{base url}/news/article/id/123/format/print
$segments would have the following
id=>123
format=>print