【问题标题】:Codeigniter's url_title() change UTF8 Characters to specified LatinCodeigniter 的 url_title() 将 UTF8 字符更改为指定的拉丁文
【发布时间】:2012-01-18 02:23:36
【问题描述】:

是否可以让url_title() 产生对这些字符串的改写:

čolić
nešto

进入:

colic
nesto

我相信这对于基于拉丁语的 UTF8 语言以及为非拉丁语语言设置更漂亮和描述性更强的 URL 可能很有用。

【问题讨论】:

  • 明确一点,这与 UTF-8 关系不大。您只想将带有变音符号的拉丁字符转换为没有变音符号的类似拉丁字符。
  • 应该是这样。是否可以更改 url_title() 以自动执行此操作,而无需编写其他功能?
  • 我是 CodeIgniter 世界的新手,所以我忘记了我可以扩展助手。感谢您的评论。

标签: php codeigniter utf-8 routing


【解决方案1】:

只需绑定到 convert_accented_characters 函数:

url_title(convert_accented_characters('čolić'));

【讨论】:

  • 这个函数convert_accented_characters是干什么的?
  • 最好的办法是在此处查找:codeigniter.com/user_guide/helpers/text_helper.html - 它还使用 foreign_chars 配置,因此如果缺少翻译,您可以修改该文件。
  • 我已经使用 CI 快两年了,甚至不知道这个功能。不错!
  • 不要忘记加载两个助手。 $this->load->helper (array ('text', 'url'));
【解决方案2】:

我正在使用

$this->load->helper('text');
$string = 'tèst Tést ççÇçandãÃ';
$title = url_title(convert_accented_characters(utf8_encode(strtolower($string)));
// return: test-test-cccandaa

【讨论】:

    猜你喜欢
    • 2013-06-09
    • 2012-02-21
    • 2021-06-21
    • 2016-03-19
    • 2014-12-08
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多