Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Создание генератора рерайтов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Webtest
Отправлено: 02 Июня, 2014 - 18:46:17
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Подскажите пожалуйста как можно решить задачку по созданию рерайтов т.е. есть текст, если внутри текста стоят фигурные скобки, из этих скобок берется 1 слово/фраза разделенная | - вертикальным разделителем.
например: Текст {1 вариант|2вариант|3 вариант} текст { и т.д. { и т.п. | тест}
Получим: текст 2 вариант текст и т.д. и т.п
При чем чтобы каждый раз генерировался случайный набор из имеющихся символов.
Даже в уме не могу решить эту задачу, как сделать. Просто разделил в массив по вертикальной черте и все.
Спойлер (Отобразить)
 
 Top
Мелкий Супермодератор
Отправлено: 02 Июня, 2014 - 18:51:09
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Вам для чего?
В поиске хлама и без вас хватает, к тому же поисковики такое определяют, да и сами не дураки понаписать чего-нибудь бессмысленного: http://vesna[dot]yandex[dot]ru/


-----
PostgreSQL DBA
 
 Top
Webtest
Отправлено: 02 Июня, 2014 - 18:59:18
Post Id


Посетитель


Покинул форум
Сообщений всего: 286
Дата рег-ции: Июнь 2014  


Помог: 0 раз(а)




Мелкий пишет:
Вам для чего?
В поиске хлама и без вас хватает, к тому же поисковики такое определяют, да и сами не дураки понаписать чего-нибудь бессмысленного: http://vesna.yandex.ru/

Задание по программированию. Улыбка

(Отредактировано автором: 02 Июня, 2014 - 18:59:38)

 
 Top
Мелкий Супермодератор
Отправлено: 02 Июня, 2014 - 20:25:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_replace_callback('~\{([^\}]++)\}~', function ($rgMatch) {
  2. var_dump($rgMatch);
  3. return '';
  4. }, $sInput);

Вот теперь идея с explode уместна, в callback'е вместо '' вернёте строку, на которую надо заменить.


-----
PostgreSQL DBA
 
 Top
sympler
Отправлено: 03 Февраля, 2016 - 00:26:12
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




Нужно сначала найти позицию открывающей скобки и закрывающей с помощью strpos, допустим 5 и 37,
Далее получаем строку от 6 до 36 позиции с помощью substr

Далее уместно explode

А потом все это дело в цикл, во втором цикле нужно найти вторую открывающуюся скобку и закрывающуюся, и так далее,

А как получить позицию второй скобки? У strpos есть третий аргумент
 
 Top
TuX560
Отправлено: 03 Февраля, 2016 - 08:07:40
Post Id


Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Дек. 2015  


Помог: 3 раз(а)




sympler пишет:
Нужно сначала найти позицию открывающей скобки и закрывающей с помощью strpos, допустим 5 и 37,
Далее получаем строку от 6 до 36 позиции с помощью substr
...
А как получить позицию второй скобки? У strpos есть третий аргумент

Могу ошибаться, но не проще для этого использовать регулярку и получить массив строк внутри скобок
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB