Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
генератор запросов на PHP |

19.08.2009, 11:14
|
|
Новичок
Регистрация: 30.03.2008
Сообщений: 6
Провел на форуме: 20022
Репутация:
5
|
|
генератор запросов на PHP
Помогите пожалуйста, всю бошку сломал так и не получилось написать на пхп скрипт который будет из строки вида:
я {люблю|обажаю} {помидоры|яблоки|груши}
делала строки:
я люблю помидоры
я люблю яблоки
я люблю груши
я обажаю помидоры
я обажаю яблоки
я обажаю груши
с возможностью задания неогран кол-ва синонимов
|
|
|

19.08.2009, 11:34
|
|
Познавший АНТИЧАТ
Регистрация: 01.05.2006
Сообщений: 1,021
Провел на форуме: 3424739
Репутация:
921
|
|
Регулярками бери то что находится в фигурных скобках ... разделяй explode`ом знак "|" и загоняй в 2 массива ... а дальше думаю понятно)
|
|
|

19.08.2009, 11:57
|
|
Новичок
Регистрация: 30.03.2008
Сообщений: 6
Провел на форуме: 20022
Репутация:
5
|
|
Так и делал а вот далее, как массивы обработать не доходит
|
|
|

19.08.2009, 12:20
|
|
Участник форума
Регистрация: 11.10.2006
Сообщений: 134
Провел на форуме: 3607644
Репутация:
235
|
|
_http://blog.gtalex.ru/php-skript-perebora-variantov-po-shablonu
|
|
|

19.08.2009, 12:23
|
|
Участник форума
Регистрация: 29.05.2008
Сообщений: 181
Провел на форуме: 979048
Репутация:
101
|
|
эмм массивы обработать не можешь??
echo $massiv[rand(0,count($massiv))];
|
|
|

19.08.2009, 12:55
|
|
Новичок
Регистрация: 30.03.2008
Сообщений: 6
Провел на форуме: 20022
Репутация:
5
|
|
Большое спасибо вам за помощь, все супер работает!!!
|
|
|

19.08.2009, 13:01
|
|
Постоянный
Регистрация: 27.07.2008
Сообщений: 614
Провел на форуме: 4532332
Репутация:
1196
|
|
PHP код:
<?php
$text= 'я {люблю|обажаю} {помидоры|яблоки|груши}';
preg_match('#{(.*)}\s{(.*)}#i',$text,$matches);
$like=$matches[1];
$what=$matches[2];
$likearray=explode('|',$like);
$whatarray=explode('|',$what);
echo 'я '.$likearray[rand(0,((count($likearray)-1)))].' '.$whatarray[rand(0,((count($whatarray)-1)))];
?>
Последний раз редактировалось L I G A; 19.08.2009 в 16:18..
|
|
|

19.08.2009, 14:04
|
|
Новичок
Регистрация: 03.05.2009
Сообщений: 14
Провел на форуме: 71723
Репутация:
10
|
|
Все предложения не будут работать если будет к примеру не 2 {} скобки. А 20.
Нужен рекурсивный вывод
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|