function unique_dynamic_route($route, $current_route = '') { $route = trim($route, '/'); $regex = "(\\/?([a-zA-Z0-9+\$_-]\\.?)+)*\\/?"; // Path $regex .= "(\\?[a-zA-Z+&\$_.-][a-zA-Z0-9;:@&%=+\\/\$_.-]*)?"; // GET Query $regex .= "(#[a-zA-Z_.-][a-zA-Z0-9+\$_.-]*)?"; // Anchor if (preg_match("/^{$regex}\$/", $route)) { $Content_types = new Content_types_model(); $Content_types->get_by_dynamic_route($route); if ($Content_types->exists() && $route != stripslashes($current_route)) { $this->form_validation->set_message('unique_dynamic_route', 'This %s provided is already in use.'); return FALSE; } else { return $route; } } else { $this->form_validation->set_message('unique_dynamic_route', 'The %s provided is not valid.'); return FALSE; } }