Программирование на php. Общие вопросы.

(Ответов: 402, Просмотров: 29118)
Страница 40 из 41 Первая ... 3038394041 Последняя
  1. Новичок Аватар для РАН
    • Регистрация: 21.05.2016
    • Сообщений: 9
    • Репутация: 0
    • Webmoney BL: ?
    blird, не совсем понял, что именно хотите, но смысл в следующем: храните кейворды в бд или том же редисе, дергаете оттуда чекаете на уникальность, ну а как сделать редирект, наверное объяснять не нужно?)
    • 0
  2. Новичок Аватар для IgorWebb
    • Регистрация: 12.08.2016
    • Сообщений: 5
    • Репутация: 0
    Доброго времени суток... В каком формате можно и нужно хранить файлы локализации для php сайта, если не в том же php?

    Сейчас реализовано таким образом:
    PHP код:
    <?php

    // Выбор языка
    $_["h_lang"] = "Русский";
    // Меню
    $_["h_home"] = "Главная";
    $_["h_log_in"] ="Кабинет";
    $_["h_contacts"] ="Контакты";
    $_["h_reg"] = "Регистрация";
    $_["h_enter"] = "Войти";

    ?>
    Файл подгружается из папки нужного нам языка. Массив "$_" идет в шаблон.

    P.S. Желательно что бы система была та же (На выходе был массив)
    • 0
  3. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    IgorWebb, json
    • 1

    Спасибо сказали:

    IgorWebb(12.08.2016),
  4. Новичок Аватар для IgorWebb
    • Регистрация: 12.08.2016
    • Сообщений: 5
    • Репутация: 0
    OKyJIucT, спасибо. Немного погуглил как все же сделать именно файл локализации и доставать от туда переменные, не нашел что то простого решения. Заодно посмотрел xml, его варианты обработки php`ом и родилась идея сделать свой велосипед. Его суть в том, что бы получать содержимое текстового файла с переводом каждой переменной и просто пропарсить на переменные. Адекватно, как считаете?
    • 0
  5. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    IgorWebb, если вы будете оттуда только читать, а заносить переводы вручную и редко, то можно использовать словари в виде ini файлов, они парсятся легко и структура простая. С XML я бы связывался в последнюю очередь, там большая избыточность кода, лучше уж тот вариант использовать, который сейчас, чем XML.

    Создайте какой то статический класс, который будет всю грязную работу делать, например, метод Lang::word('banana') будет возвращать перевод переданного ему слова, а потом уже в классе будете с реализациями играться, чтобы под каждый вариант не переписывать весь код. Потом вам захочется в базе хранить все переводы, и через админку ими управлять, с помощью отдельного класса легче менять работу под капотом. Поменяли в классе место хранения, а обращения к переводам в коде менять не придется.

    Типа обёртка будет для локализации. Например, вторым параметром можно будет передать язык, на который переводить, ну либо как то по другому расширять будет легче и удобнее.
    Последний раз редактировалось OKyJIucT; 13.08.2016 в 02:03.
    • 0
  6. Новичок Аватар для IgorWebb
    • Регистрация: 12.08.2016
    • Сообщений: 5
    • Репутация: 0
    Спасибо за идейку, я делал что то подобное, но с обычной функцией. Она искала анологию в списке php Ru - En. Но на практике оказалось не так удобно передавать всю строку функции и тп. А если большой текст? Когда на смарти перешел, вариант совсем отпал. Понял, то что нужны переменные - макросы для смарти. Для версальщиков понятней... И с файлами локализации легче. Как считаете?
    • 0
  7. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    IgorWebb, весь текст целиком храните для перевода (если это элементы интерфейса, например). Задача полностью непонятна, поэтому сложно выбрать оптимальный вариант. Если есть желание - напишите мне в вк, попробую помочь

    Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 4 сообщение(ий)):
    У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.


    Если это контент, то есть смысл хранить его на нескольких языках в базе данных, чтобы легче было редактировать, осуществлять поиск по контенту.
    • 1

    Спасибо сказали:

    IgorWebb(13.08.2016),
  8. Новичок Аватар для myaltai
    • Регистрация: 03.05.2013
    • Сообщений: 24
    • Репутация: 14
    Привет! Хотел воспользоваться preg_replace, чтобы найти и заменить подстроку в строке, вот так:

    PHP код:
    $str 'abra<key>katabra';
    $tag['key'] = 'h1';
    $tmp preg_replace('/<(.*)>/',$tag[$1], $str);
    print 
    $tmp
    Но PHP ругается на строку с функцией... хотелось бы вставлять значение из ассоциативного массива по найденному ключу.
    • 0
  9. Гуру Аватар для west0293
    • Регистрация: 09.06.2011
    • Сообщений: 1,025
    • Репутация: 342
    • Webmoney BL: ?
    myaltai,
    PHP код:
    $tmp preg_replace('/<(.*)>/',$tag['key'], $str); 
    • 1

    Спасибо сказали:

    OKyJIucT(02.03.2017),
  10. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    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
    Нулевой поменяется на нулевой, первый на первый, и т.д.
    • 0
Страница 40 из 41 Первая ... 3038394041 Последняя

Похожие темы

Темы Раздел Ответов Последний пост
Веб программирование на 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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры