我想要这样的url slug
TKD / index.php的/条/ 77 / Kejurnas-2013
但是当我点击这样的按钮时
TKD / index.php的/条/ 77 / Kejurnas%202013
我的代码出了什么问题。这是我的看法
<div class="post-buttons-wrap">
<div class="post-buttons">
<a href="<?php echo base_url('index.php/article/' . intval($dt->id) . '/' . e($dt->slug)) ; ?>" class="ui black label">
Read More
</a>
</div><!-- end .post-buttons -->
</div>
这是我的控制器
public function index()
{
$this->data['berita'] = $this->mberita->get_berita();
$this->data['halaman'] = $this->mhalaman->get_profil();
dump('Page!');
// Fetch the page template
$this->data['page'] = $this->page_m->get_by(array('slug' => (string) $this->uri->segment(1)), TRUE);
count($this->data['page']) || show_404(current_url());
// Fetch the page data
$method = '_' . $this->data['page']->template;
if (method_exists($this, $method)) {
$this->$method();
}
else {
log_message('error', 'Could not load template ' . $method .' in file ' . __FILE__ . ' at line ' . __LINE__);
show_error('Could not load template ' . $method);
}
$this->data['contents'] = $this->data['page']->template;
$this->load->view('template/wrapper_mahasiswa', $this->data);
}
请帮我做什么。谢谢。
答案 0 :(得分:0)
如果您需要转换某些特殊字符,您必须使用帮助程序“URL”并使用函数“url_title()”和“convert_accented_characters()”。
http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html了解更多信息
实施例: 在控制器代码中,您将捕获表单输入。然后你必须用这样的一行创建slug:
$event['slug'] = url_title(convert_accented_characters($event['eventName']),'-',TRUE);
此行将返回一个以“ - ”分隔的slug,将所有单词设置为小写并删除所有特殊字符。
答案 1 :(得分:0)
试试这个 - 在url中使用字符串时使用rawurlencode -
<a href="<?php echo base_url('index.php/article/' . intval($dt->id) . rawurldecode('/') . e($dt->slug)) ; ?>" class="ui black label">
Read More
</a>