Я разрабатываю двуязычный сайт в кодеигнорирую, и я создал языковые файлы. Все работает отлично, за исключением при переключении языка я хочу, чтобы заменить язык abbraviation в URL на 31-е и 32-е позиции, начиная с 0.PHP для замены 2 символа на n-й позиции в строке
English URL:
$ URL = HTTP: // локальным/а /index.php/ ан/новости/название/новой версии-оф-GoldenDict-с-Dzongkha
дзонг-кэ URL:
$ URL = HTTP://localhost/abc/index.php/ DZ/Новости/название/новой версии-оф-GoldenDict-с-Dzongkha
я просто хочу, чтобы изменить PHP ан к дз
я попытался
$ URL = HTTP: //localhost/abc/index.php/ ан/новости/название/новой версии-оф-GoldenDict-с-Dzongkha
$ lang_id = 'dz';
$ old_lang = substr ($ url, 31, 2);
$ newurl = str_replace ($ old_lang, $ lang_id, $ url);
Однако выше коды меняют dz на en, но также заменяют символы 45 и 46. Это происходит после преобразования.
$ URL = HTTP: //localhost/abc/index.php/ DZ/Новости/название/дг ш-версия-оф-GoldenDict-с-Dzongkha
Любой тот, у кого есть идея, что происходит
добрый старый '$ newurl = str_replace ('/ en /', '/ dz /', $ url);' может быть достаточно здесь? – Scuzzy
Зачем вам нужно заменять языковые строки? Вы должны правильно строить URL-адреса в соответствии с текущим языком. Включая название, которое, похоже, теперь привязано к одному языку. – jeroen