Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
В базе есть такие колонки (см. фото), пользователь вводит любое значение из левой колонки и ему показывается значение правой колонки, есть массив ключ=>значение, где ключ - значение в базе, а значение - значение, на которое нужно заменить с помощью str_replace, но заранее неизвестно, что ввёл пользователь, и поэтому str_replace заменяет один ключ на все значения, а мне так не надо; как правильно сделать? Прикреплено изображение
Viper
Отправлено: 05 Января, 2016 - 09:01:21
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
Как-то с трудом понятно, что вам нужно, но скорее всего in_array()
Либо циклом по массиву и в нём preg_match() если уж совсем тяжело.
PS! М.б. стоит написать что есть и что хотите получить?!
Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
Viper пишет:
стоит написать что есть и что хотите получить?!
это чат-бот, есть функции, если собеседник написал например "курс валют" из базы бы бралось %COURSE% и заменялась на соответствующую функцию, в данном примере функцию парсера центробанка
Viper
Отправлено: 05 Января, 2016 - 11:36:18
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
DemoN1810 пишет:
если собеседник написал например "курс валют" из базы бы бралось %COURSE% и заменялась на соответствующую функцию
как-то у вас совсем сложно реализация задумана.
Выбрали из таблицы имя функции и запустили. Зачем какие-то замены?
Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2014
Помог: 0 раз(а)
Я конечно только учуся! И возможно чего-то не понимаю. Но по моему можно так.
Написать СВИЧ и тогда при определённом значении из базы. Задействовать нужную функцию.
Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
Viper пишет:
вы сами себе противоречите
вовсе нет, не буду же я каждый день например изменять в базе курс валют или новости, поэтому надо хоть как-нибудь отделить функции парсеров от обычных ответов в базе
Viper
Отправлено: 06 Января, 2016 - 16:24:28
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
DemoN1810 пишет:
вовсе нет, не буду же я каждый день например изменять в базе курс валют или новости, поэтому надо хоть как-нибудь отделить функции парсеров от обычных ответов в базе
вы сами себя запутали уже! Перечитайте какую ахинею вы написали, может станет понятно.
Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
Viper пишет:
вы сами себя запутали уже! Перечитайте какую ахинею вы написали, может станет понятно.
таки и вправду не буду же я так делать, а основные ответы надо в базе держать, так удобнее
Prizma
Отправлено: 07 Января, 2016 - 09:48:36
Посетитель
Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012 Откуда: Санкт-Петербург
Помог: 5 раз(а)
DemoN1810 пишет:
вовсе нет, не буду же я каждый день например изменять в базе курс валют или новости, поэтому надо хоть как-нибудь отделить функции парсеров от обычных ответов в базе
DemoN1810 пишет:
таки и вправду не буду же я так делать, а основные ответы надо в базе держать, так удобнее
Типа ты после каждого запроса пользователя будешь парсить сайт центробанка или ММВБ чтобы написать актуальный курс? вместо того, чтобы через cron сделать это в автоматическом режиме и держать в базе всегда актуальное значение.
DemoN1810 пишет:
это чат-бот, есть функции, если собеседник написал например "курс валют" из базы бы бралось %COURSE% и заменялась на соответствующую функцию, в данном примере функцию парсера центробанка
К слову, я обслуживаю несколько интернет магазинов и пересчет из валют идет по курсу цб, курс обновляется в рабочии дни в 15:00 и 17:00 (иногда бывают задержки на цб) и этого вполне достаточно для поддержки актуальности цен.
DemoN1810 пишет:
а я часто вижу в кодах например %USERNAME%, который меняется на имя, можно в вордпрессе посмотреть, там тоже это есть насколько помню
улыбнуло)
DemoN1810
Отправлено: 07 Января, 2016 - 14:10:30
Новичок
Покинул форум
Сообщений всего: 9
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
Prizma пишет:
держать в базе всегда актуальное значение.
это для цб только одну колонку отвести, а новости, а анекдоты, а википедия вконце концов?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.