我正在用CodeIgiter框架制作一个简单的博客。我可以创建帖子,当创建帖子时,slug 会保存在数据库中。slug 与帖子的标题相同,但如果帖子是特殊字符怎么办?例如,帖子的标题是"Ķas-noķika",当我按阅读更多时,一个链接向我显示这样的鼻涕虫 -http://localhost/CodeIgniteBlog/posts/Ķas-noķika
.在数据库中,slug与链接中的相同,但它不会获取帖子,而是向我显示404消息。所以我正在考虑将 url slug 从Ķas-noķika
转换为Kas-nokika
,希望它能起作用。如何在 CodeIgniter 中做这样的事情?我必须更改配置.php还是添加函数?
这是创建帖子的函数:
public function create_post(){
$slug = url_title($this->input->post('title'));
$data = array(
'title' => $this->input->post('title'),
'slug' => $slug,
'body' => $this->input->post('body')
);
return $this->db->insert('posts', $data);
}
使用convert_accented_characters()
,但首先您需要加载"text"帮助程序。
下面是一个示例:
echo convert_accented_characters("Ķas-noķika"); //Output Kas-nokika
更多信息可以在文档链接中找到: https://www.codeigniter.com/user_guide/helpers/text_helper.html#convert_accented_characters
转到配置/配置.php
查找并更新此内容
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_-';