blird, не совсем понял, что именно хотите, но смысл в следующем: храните кейворды в бд или том же редисе, дергаете оттуда чекаете на уникальность, ну а как сделать редирект, наверное объяснять не нужно?)
- 25.05.2016 11:01
- 12.08.2016 20:54
Доброго времени суток... В каком формате можно и нужно хранить файлы локализации для php сайта, если не в том же php?
Сейчас реализовано таким образом:PHP код:Файл подгружается из папки нужного нам языка. Массив "$_" идет в шаблон.<?php
// Выбор языка
$_["h_lang"] = "Русский";
// Меню
$_["h_home"] = "Главная";
$_["h_log_in"] ="Кабинет";
$_["h_contacts"] ="Контакты";
$_["h_reg"] = "Регистрация";
$_["h_enter"] = "Войти";
?>
P.S. Желательно что бы система была та же (На выходе был массив) - 12.08.2016 21:20
IgorWebb, json
Спасибо сказали:
IgorWebb(12.08.2016), - 12.08.2016 22:47
OKyJIucT, спасибо. Немного погуглил как все же сделать именно файл локализации и доставать от туда переменные, не нашел что то простого решения. Заодно посмотрел xml, его варианты обработки php`ом и родилась идея сделать свой велосипед. Его суть в том, что бы получать содержимое текстового файла с переводом каждой переменной и просто пропарсить на переменные. Адекватно, как считаете?
- 13.08.2016 01:48
IgorWebb, если вы будете оттуда только читать, а заносить переводы вручную и редко, то можно использовать словари в виде ini файлов, они парсятся легко и структура простая. С XML я бы связывался в последнюю очередь, там большая избыточность кода, лучше уж тот вариант использовать, который сейчас, чем XML.
Создайте какой то статический класс, который будет всю грязную работу делать, например, метод Lang::word('banana') будет возвращать перевод переданного ему слова, а потом уже в классе будете с реализациями играться, чтобы под каждый вариант не переписывать весь код. Потом вам захочется в базе хранить все переводы, и через админку ими управлять, с помощью отдельного класса легче менять работу под капотом. Поменяли в классе место хранения, а обращения к переводам в коде менять не придется.
Типа обёртка будет для локализации. Например, вторым параметром можно будет передать язык, на который переводить, ну либо как то по другому расширять будет легче и удобнее.Последний раз редактировалось OKyJIucT; 13.08.2016 в 02:03.
- 13.08.2016 11:48
Спасибо за идейку, я делал что то подобное, но с обычной функцией. Она искала анологию в списке php Ru - En. Но на практике оказалось не так удобно передавать всю строку функции и тп. А если большой текст? Когда на смарти перешел, вариант совсем отпал. Понял, то что нужны переменные - макросы для смарти. Для версальщиков понятней... И с файлами локализации легче. Как считаете?
- 13.08.2016 12:12
IgorWebb, весь текст целиком храните для перевода (если это элементы интерфейса, например). Задача полностью непонятна, поэтому сложно выбрать оптимальный вариант. Если есть желание - напишите мне в вк, попробую помочь
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 4 сообщение(ий)):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
Если это контент, то есть смысл хранить его на нескольких языках в базе данных, чтобы легче было редактировать, осуществлять поиск по контенту.Спасибо сказали:
IgorWebb(13.08.2016), - 02.03.2017 15:09
Привет! Хотел воспользоваться preg_replace, чтобы найти и заменить подстроку в строке, вот так:
PHP код:Но PHP ругается на строку с функцией... хотелось бы вставлять значение из ассоциативного массива по найденному ключу.$str = 'abra<key>katabra';
$tag['key'] = 'h1';
$tmp = preg_replace('/<(.*)>/',$tag[$1], $str);
print $tmp;
- 02.03.2017 15:17
myaltai,
PHP код:$tmp = preg_replace('/<(.*)>/',$tag['key'], $str);
Спасибо сказали:
OKyJIucT(02.03.2017), - 02.03.2017 15:21
myaltai, либо вот так, если планируете делать множественные и разные замены
PHP код:Нулевой поменяется на нулевой, первый на первый, и т.д.<?php
$str = 'abra<key>kat<two>abra';
$pattern[0] = '/<key>/';
$pattern[1] = '/<two>/';
$replace[0] = 'h2';
$replace[1] = 'h1';
$tmp = preg_replace($pattern,$replace, $str);
print $tmp; // abrah2kath1abra
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Веб программирование на Php, MySQL, Ajax. Программирование на C# | Создание сайтов | 3 | 31.05.2011 01:53 |
Веб программирование на Php, MySQL, Ajax. Программирование на C# | Реклама партнерских программ | 3 | 31.05.2011 01:53 |
Качественное программирование на заказ | Создание сайтов | 2 | 13.09.2010 16:02 |
Веб-программирование [php, Xhtml, Css, Javascript] | Другая работа | 0 | 28.02.2010 23:10 |