Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
помогите плз.. наверно надо функцию зациклить как то.. или может есть более простые варианты.
вообщем есть текст вида: текст {{щаблон1}} текст {{щаблон2}} текст {{щаблон3}} текст {{щаблон4}}
- в примере в тексте 4 шаблона. в реальности любое количество.
- каждый шаблон имеет несколько значений (минимум 1. максимума нет, есть вероятность что вообще нет значения...)
нужно получить этот текст во всех разновидностях. т.е. подставлять все значения на места шаблонов из допустимых. и чтобы не было повторов в текстах...
т.е. допустим. текст:
текст {{щаблон1}} текст {{щаблон2}}
допустимые значения:
шаблон1 = array(значение 1_1, значение 1_2)
шаблон1 = array(значение 2_1, значение 2_2)
итог:
текст значение 1_1 текст значение 2_1
текст значение 1_1 текст значение 2_2
текст значение 1_2 текст значение 2_1
текст значение 1_2 текст значение 2_2
помогите плз... не знаю как делать
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
JustUserR
Отправлено: 18 Апреля, 2010 - 19:32:27
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Вездеход пишет:
Нужно получить этот текст во всех разновидностях. т.е. подставлять все значения на места шаблонов из допустимых. и чтобы не было повторов в текстах...
Если вам нужно просто перебрать все возможные сочетания текстов без пересения с собой - то можно обойтись циклом который для кадждого из элеменов проводит внутренний цикл и перебирается оставлиеся элементы (Если нужно чтобы блоки не повторялись и симметрично то второй цикл начинается со значения первого плюс единица - а если все ранво то с нуля) Число вложенных циклов опредялет длину получаемых текстов
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Вездеход
Отправлено: 18 Апреля, 2010 - 21:01:49
Частый посетитель
Покинул форум
Сообщений всего: 820
Дата рег-ции: Апр. 2008 Откуда: Россия
Помог: 0 раз(а)
JustUserR
а можно поподробнее.. не совсем понял =) (Добавление)
не получается сделать так, чтобы функция "скапливала" в себе результаты и только в конце выдавала через return
не могу додуматься как сделать...
а так впринципе сделал:
$syn - массив со словами для замены
$syn['tpl1']['val1']=111;
$syn['tpl2']['val1']=222;
$syn['tpl2']['val2']=333;
примерно так
----- о великий nl2br!
Хочешь невероятных ощущений? Юзай блокнот! Блокнот - чудеса сбываются!
Чем меньше вы знаете PHP - тем ценнее мои знания!
JustUserR
Отправлено: 19 Апреля, 2010 - 11:47:28
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Вездеход пишет:
А можно поподробнее.. не совсем понял =)
Я просто по выделенной цитате описал как сделать сочения комбинаций слов определенной длины
Вездеход пишет:
Не получается сделать так, чтобы функция "скапливала" в себе результаты и только в конце выдавала через return
не могу додуматься как сделать...
Конкретно для этого можно посоветовал две вещи - или использование модификатора static для хранения значения переменной между вызовами функци - либо передавать какую-нибудь переменную (Например массив результатов) по ссылке и она также будет сохранятся между вызовами (Потому что она на самом деле не лежит внутри фунции)
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.