2013-06-12 2 views
4

У меня есть проблемы с CodeIgniter что-то вроде этого у меня есть строка это какCodeIgniter URL_TITLE UTF8 Персонажи?

$string="Mučnina – problem u vožnji!"; 

Когда я сделать что-то вроде этого

$url_title = url_title($string, '_', TRUE); 

Я получил эту

$string="munina_problem_u_vonji"; 

большая разница?

Как изменить параметры url_title?

+0

Как вы хотите модифицировать? Вы хотите, чтобы č стал «c»? – landons

+0

Да č до c, от z до z и всех других UTF8-unicode-ci –

ответ

3

Это то, что я сделал:

1. пойти application/config/foreign_chars.php

2. добавить ред

'/š/' => 's', 
'/đ/' => 'd', 
'/č/' => 'c', 
'/ć/' => 'c', 
'/ž/' => 'z', 
'/Š/' => 'S', 
'/Đ/' => 'D', 
'/Č/' => 'C', 
'/Ć/' => 'C', 
'/Ž/' => 'Z', 

3. Просто позвоните

$clean=convert_accented_characters($string); 
$url_title = url_title($clean, '_', TRUE); 
2

Встроенная функция названия URL не будет работать сама по себе, поскольку она просто заменяет все соответствия [^a-z0-9 _-] пустой строкой.

Попробуйте запустить convert_accented_characters() первый на ввод данных, что функция принимает это замены из файла config/foreign_chars.php, так что-то вроде этого:

url_title(convert_accented_characters($string), '_', TRUE); 
+0

Исправлено небольшим количеством вашей помощи, вот что я сделал: 1. перейти к приложению/config/foreign_chars.php 2. добавлено ''/s /»=> 's',' \t ' '/ Диджей /' => 'd',' \t ' '/ C /' => 'с',' \t ' '/ C /' = > 'с', ' \t' '/ Z /' => 'г', ' \t' '/ S /' => 'S', ' \t' '/ Диджей /' => 'D' ' \t' '/ Č/'=>' C ',' \t ''/Ć/'=>' C ',' \t ' '/ з /' => 'Z',' 3. Добавлена ​​ '$ чистые = convert_accented_characters ($ строка);' 4.Just называют '$ url_title = url_title ($ чистый,«_ ', TRUE); ' И получил все хорошее и приятное, txanks mate –

Смежные вопросы