![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
Привет всем! Такой вопрос: есть строка к примеру
Вопрос в от в чем - есть ли средство в пхп чтобы распарсить строки такого вида и подставить туда значения переменных, в моем конкретном случае предполагается что эти вида my.parameter хранятся в каком то массиве. Спасибо -------------------- The truth is out there |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
||||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
azesmcar,
Спасибо но так не пойдет мне надо что то вроде этого
то есть определить есть ли в пхп конструкции которые делали бы %my.messages и которое проставлялось бы из массива. В sscanf такого нет. Спасибо -------------------- The truth is out there |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
zone51,
preg_replace preg_replace_callback |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
все равно непонятно, почему в $str должно быть обязательно "This is my string %my.messages";, когда всех прекрасно устраивает $str="This is my string %s";
|
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Ипатьев,
навскидку приходит наполнение массива параметров из произвольных/нескольких источников. Когда порядок неизвестен или лень отслеживать. Да и геморроя потом с модификацией будет меньше. Тебе достаточно добавить уникальный именованый параметр. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
zone51
по поводу массива, можно вызвать sprintf с помощью call_user_func_array |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Simpliest, вот и вы теперь придумываете возможные объяснения.
Спасибо, я и сам могу. Может, автор банальные шаблоны делает. Но идея в том, чтобы его самого спросить. |
|||
|
||||
| zone51 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
Спасибо всем за ответы. У меня есть строка
Я заранее не знаю какие у меня параметры есть так как эта функция которую я делаю будет работать с самыми разными строками и текстами. Насчет sscanf попробую. Это все вообще делается для того чтобы сделать сайт интернациональным то есть эти параметры в зависимости от содержания массива параметров будут представлять либо английские либо русские слова. Спасибо Добавлено через 4 минуты и 5 секунд То есть
То есть эти параметры есть в каком то массиве и будут представлять ибо русские либо английские слова -------------------- The truth is out there |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
рекомендую gettext
индустриальный стандарт мультиязычности. непонятно, правда, зачем в английской строке русские слова %) |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
Возможно. Я sprintf, printf не использую - предпочитаю формировать строки конкатенацией (они нагляднее). |
|||
|
||||
| zone51 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
Ипатьев,
Это чисто пример, на самом деле это будет использоваться чтобы вывоить надписи к полям ввода и т д, то есть текст будет html -------------------- The truth is out there |
|||
|
||||
| Simpliest |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
zone51, для общей информации можешь ознакомится с подходом в ZF
http://framework.zend.com/manual/en/zend.translate.html Добавлено через 1 минуту и 18 секунд
хм. Таки шаблонизатор.... |
|||
|
||||
| zone51 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 17.2.2006 Репутация: нет Всего: 1 |
Получилось что то вроде
Но нифига не работает :( Подскажите как и что. Спасибо Добавлено через 3 минуты и 57 секунд А вот так работает
-------------------- The truth is out there |
||||
|
|||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 12 Всего: 211 |
так? |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |