Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   генератор запросов на PHP (https://forum.antichat.xyz/showthread.php?t=135919)

Romanka 19.08.2009 11:14

генератор запросов на PHP
 
Помогите пожалуйста, всю бошку сломал так и не получилось написать на пхп скрипт который будет из строки вида:
я {люблю|обажаю} {помидоры|яблоки|груши}
делала строки:
я люблю помидоры
я люблю яблоки
я люблю груши
я обажаю помидоры
я обажаю яблоки
я обажаю груши

с возможностью задания неогран кол-ва синонимов

Sharky 19.08.2009 11:34

Регулярками бери то что находится в фигурных скобках ... разделяй explode`ом знак "|" и загоняй в 2 массива ... а дальше думаю понятно)

Romanka 19.08.2009 11:57

Так и делал а вот далее, как массивы обработать не доходит

diGriz 19.08.2009 12:20

_http://blog.gtalex.ru/php-skript-perebora-variantov-po-shablonu

_==wolf==_ 19.08.2009 12:23

эмм массивы обработать не можешь??
echo $massiv[rand(0,count($massiv))];

Romanka 19.08.2009 12:55

Большое спасибо вам за помощь, все супер работает!!!

L I G A 19.08.2009 13:01

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)))]; 
?>


FreShBY 19.08.2009 14:04

Все предложения не будут работать если будет к примеру не 2 {} скобки. А 20.
Нужен рекурсивный вывод


Время: 07:46